使用Python(IPython notebook + Pandas)构建数据分析环境

首先

本次我们将在虚拟环境中构建用于Python数据分析的环境。
具体来说,我们将使用以下工具。

名称説明VirtualBox仮想マシン実行環境Vagrantコンソールから仮想マシンを管理するためのツールIPython (+notebook)Python 開発 & 実行環境Pandas分析用ライブラリ

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/,可以看到以下的屏幕。

Kobito.vdvZ5F.png

在这里,选择右上方的New -> Python2,即可出现交互式解释器。

Kobito.KlbmW9.png

由于这次是在虚拟环境中,所以没有问题,但在实际环境中使用时,建议参考以下页面,给密码加上保护会更好。

启动IPython笔记本服务器 – 设置密码并进行访问限制

运行样例

%matplotlib inline
import matplotlib.pyplot as plt

plt.plot(range(100))

输入上述代码,点击▶️即可执行。

Kobito.JNPLyq.png

最后

现在,可以通过Python进行数据分析了。

在中文中,这句话可以被改写成: “文献引用”

    • VirtualBox 公式ホームページ

 

    • Vagrant 公式ホームページ

 

    • Vagrant Box ファイル一覧

 

    • IPython 公式ホームページ

 

    • Pandas 公式ホームページ

 

    IPython notebook サーバーを立ち上げる
广告
将在 10 秒后关闭
bannerAds