使用Python(IPython notebook + Pandas)构建数据分析环境
首先
本次我们将在虚拟环境中构建用于Python数据分析的环境。
具体来说,我们将使用以下工具。
VirtualBox 是什么?
VirtualBox是一种用于虚拟化x86虚拟化(普通电脑或服务器上存在的虚拟化技术)的软件。它的正式名称是Oracle VM VirtualBox,目前由Oracle进行开发。
这个工具非常方便,可以在不影响现有环境的情况下进行各种实验。
Vagrant指的是什么?
Vagrant是一个用于通过控制台轻松管理虚拟环境的工具。
此外,通过使用社区提供的虚拟机镜像,也能方便地构建测试环境。
如果使用这个工具,很多时候在构建各种环境时可以节省很多麻烦。
IPython 是什么
IPython是对现有Python交互式解释器进行了大幅扩展的工具。
它增强了输入时的补全功能、在集群环境中的并行处理、命令行壳功能以及GUI工具包等方面的功能。
作为一种用于临时分析的对话式解释器非常方便。
IPython笔记本是什么
IPython笔记本是为了能够通过Web浏览器使用IPython所创建的工具。特别是在涉及GUI和图形绘制等方面非常方便。
可以将机器独立完成,但也可以安装在配置良好的服务器上,从弱势客户端进行分析,并轻松实现结果分享等。
Pandas 是什么
Pandas是Python的数据分析库,提供了方便操作数字和矩阵的数据结构,以及对这些数据进行操作的函数。
通过使用Python的数值计算库,如numpy和scipy,在内部进行数值计算。
由于这个原因,数值计算的速度非常快。
引进各种环境和工具
工作环境
本次实验在以下环境中进行。
-
- MacBookPro Retina 13 (Late 2013)
-
- OSX Yosemite
-
- CPU: Core i5 2.6GHz
- メモリ: 16GB
选择Debian 7.6.0(64位)作为虚拟环境的操作系统。
安装VirtualBox
从这个页面上下载并安装适合自己环境的文件。
Windows、Mac、Linux等主要操作系统都能够兼容。
只要按照安装程序的指示进行,应该没有问题。
引入流浪者操作系统
从这个页面上下载适合您的操作系统的文件,并进行安装。
适用于Windows、Mac和Linux(RedHat、Debian系列)操作系统。
虚拟环境的建立
从该页面选择Box文件。
这次选择了Debian 7.6.0(64位)。
请提供仅一个中文版本的释义:
https://github.com/jose-lpa/packer-debian_7.6.0/releases/download/1.0/packer_virtualbox-iso_virtualbox.box
执行以下命令。
$ vagrant box add debian-7.6 https://github.com/jose-lpa/packer-debian_7.6.0/releases/download/1.0/packer_virtualbox-iso_virtualbox.box
$ vagrant list
...
debian-7.6 (virtualbox, 0)
...
$ mkdir -p ~/vagrant/debian7.6 # 仮想環境をインストールしたい場所を作る
$ cd ~/vagrant/debian7.6
$ vagrant init debian-7.6
$ ls
Vagrantfile
修改已创建的 Vagrantfile 如下。
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "debian-7.6"
config.vm.network "private_network", ip: "192.168.20.10"
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", "2048"]
end
end
用这个设置,可以将虚拟机的私有IP地址设为192.168.20.10,并分配2GB的内存。
使用以下命令启动虚拟机并通过SSH连接。
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'debian-7.6'...
...
$ vagrant ssh
Linux packer-virtualbox-iso-1411922062 3.2.0-4-amd64 #1 SMP Debian 3.2.57-3 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Sep 28 16:43:22 2014 from 10.0.2.2
vagrant@packer-virtualbox-iso-1411922062:~$
可以使用此登录到虚拟环境。
您可以使用“logout”或“Ctrl+D”返回本地环境。
要关闭虚拟机,
$ vagrant halt
可以以此方式结束。
引入pandas
这次使用的是系统的 Python2.7 版本。
因为是虚拟机,所以只使用 pip 进行软件包管理,
而不使用 virtualenv 等进行特别的软件包管理,
而是直接安装在系统的 Python 中。
请运行以下命令,并安装必要的模块以进行分析。
$ sudo apt-get update
$ sudo apt-get upgrade
...
Do you want to continue [Y/n]? Y
...
$ sudo apt-get install -y gcc g++ libpyside-dev python2.7-dev libevent-dev python-all-dev build-essential python-numpy python-scipy python-matplotlib libatlas-dev libatlas3gf-base python-pandas emacs
$ pip install --user --install-option="--prefix=" -U scikit-learn
导入IPython和IPython Notebook。
用以下命令安装 IPython。
$ sudo pip install "ipython[all]"
创建配置文件,并在配置文件的开头部分写入以下内容。
$ ipython profile create nbserver
$ emacs /home/vagrant/.ipython/profile_nbserver/ipython_notebook_config.py
# Configuration file for ipython-notebook.
c = get_config()
c.IPKernelApp.pylab = 'inline'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 9999
...
使用以下命令启动服务器。
$ ipython notebook --profile=nbserver &
访问 http://192.168.20.10:9999/,可以看到以下的屏幕。
在这里,选择右上方的New -> Python2,即可出现交互式解释器。
由于这次是在虚拟环境中,所以没有问题,但在实际环境中使用时,建议参考以下页面,给密码加上保护会更好。
启动IPython笔记本服务器 – 设置密码并进行访问限制
运行样例
%matplotlib inline
import matplotlib.pyplot as plt
plt.plot(range(100))
输入上述代码,点击▶️即可执行。
最后
现在,可以通过Python进行数据分析了。
在中文中,这句话可以被改写成: “文献引用”
-
- VirtualBox 公式ホームページ
-
- Vagrant 公式ホームページ
-
- Vagrant Box ファイル一覧
-
- IPython 公式ホームページ
-
- Pandas 公式ホームページ
- IPython notebook サーバーを立ち上げる