我之前有个想法,想翻译pandas的官方文档。这是我翻译的第一篇,仅代表我个人观点,仅供参考,如有错误,欢迎指出。如果因为参看我的翻译而出错了,概不负责。
不同平台的markdown格式竟然不兼容,改起来太麻烦了。文中如有格式错误,请见谅。
第二章 安装
[TOC]
最简单的安装方式就是安装anaconda发行版(distribution).Anaconda是一个用于数据分析和科学计算的跨平台的发行软件,其中内置了pandas。对于大多数用户来说,我们推荐这种安装方式。
不过我们也提供了很多其他安装方式的指导,比如利用源文件、PyPI、ActivePython、各种Linux发行版或开发者版本等等。
2.1 移除对python2.7支持的计划
Python的核心团队决定在2020年1月1日停止对python2.7的支持。与NumPy的计划相适应,所有pandas的版本将支持python2,直到2018年十二月31日。
0.24.x版本将是支持python2的最后一个版本。安装包将一直支持PyPI或通过conda获取。
如果过了2018年12月31日,有人愿意继续支持python2的话(反向移植(backport)修复bug或者赞助),请前往问题追踪器上的维护人员版。
详情请看python3官方声明和移植到python3指南。
2.2 支持的python版本
python官方版2.7,3.5,3.6和3.7。
2.3 安装pandas
2.3.1 用Anaconda安装
安装pandas以及连带的NumPy和SciPy包对于新手来说有点困难。
最简单的方法是不只安装pandas,而是同时安装Python以及组成SciPy套装(stack)的许多受欢迎的包(比如IPython,NumPy,Matplotlib等等),这些全部内置在了Anaconda中。Anaconda是一个用于数据分析和科学计算的跨平台(Linux,Mac OS X,Windows)Python发行版。
运行安装包后,用户可以直接使用pandas和其他SciPy套装,而不需要额外安装,也不需要其他软件编译。
Anaconda的安装指南可以点击这里。
完整的Anaconda包清单可以在这里找到。
安装Anaconda的另外一个好处是不需要管理者(admin)权限。Anaconda能在用户主目录里安装,日后如果想删除Anaconda也很简单,只需要删除文件夹就行了。
2.3.2 用Miniconda安装
前文讲了如何用Anaconda来安装pandas。但是这种方式也意味着,你会同时安装和Anaconda一起绑定的一百多种包,也要下载几百兆的安装包。
如果你想自主决定安装哪个包,或者宽带速度有限,那么使用Miniconda可能会更好。
Conda是一个包管理器(Package Manager),Anaconda也是在其基础上建立的。Conda这个包管理器不仅跨平台,而且独立于编程语言(注:也就是说不仅可以管理python,也可以管理julia等语言。英文:language agnostic)Conda结合了pip工具和虚拟环境(virtualenv)。
使用Miniconda可以创建内置python的一个最小的安装文件,然后可以利用conda来安装其他包。
首先,需要安装conda。下载和运行Miniconda会默认安装conda。安装包可以在这里找到。
其次,需要创建一个conda环境。conda环境有点像一个虚拟环境,允许你选择特定的python版本和包。请在终端(Terminal)窗口运行下面的命令:
conda create -n name_of_my_env python
这将创建包含python的一个最小的环境。让你自己在这个最小环境中运行。
source activate name_of_my_env
在windows系统中,命令是:
activate name_of_my_env
最后一步就是安装pandas。使用下面的命令即可:
conda install pandas
如果要安装一个特定的pandas版本:
conda install pandas=0.20.3
安装其他包也可以用conda,比如安装ipython:
conda install ipython
也可以安装整个Anaconda发行版:
conda install anaconda
如果你要安装的包可以用pip安装,但是无法用conda安装,那么就需要安装pip,然后使用pip去安装那些包。
conda install pip
pip install django
2.3.3 用PyPI安装
pandas可以用PyPI的pip安装:
pip install pandas
2.3.4 用ActivePython安装
ActivePython的安装指令可以在这里找到。版本2.7和3.5包含pandas。
2.3.5 使用Linux发行版的包管理器安装
下面这张表中的指令将会为你的Linux发行版中的python安装pandas。如果要为python2安装,需要使用python-pandas这个包。
发行版 | 状态 | 下载/仓库链接 | 安装方法 |
---|---|---|---|
Debian | 稳定 | official Debian repository | sudo apt-get install python3-pandas |
Debian & Ubuntu | 最近版本不稳定 | NeuroDebian | sudo apt-get install python3-pandas |
Ubuntu | 稳定 | official Ubuntu repository | sudo apt-get install python3-pandas |
OpenSuse | 稳定 | OpenSuse Repository | zypper in python3-pandas |
Fedora | 稳定 | official Fedora repository | dnf install python3-pandas |
Centos/RHEL | 稳定 | EPEL repository | yum install python3-pandas |
不过,Linux的包管理器中的包通常要很多版本,务必安装最新的版本。推荐使用上面所说的pip或者conda方法安装pandas。
2.3.5 使用源文件安装
阅读贡献指南来从git源码树安装pandas的完整指令。另外,如果想创建一个pandas开发环境,请看创建开发环境指南。
2.4 运行测试套件
pandas自带一套详尽的单元测试,覆盖了97%的代码库。为了使用单元测试来验证你的机器能够正常运行,请确保已经安装了pytest和Hypothesis,并且pytest版本在3.6以上,Hypothesis版本在3.58以上,然后运行
pd.test()
输出结果
running: pytest --skip-slow --skip-network C:\Users\TP\Anaconda3\envs\py36\lib\site-packages\pandas
============================= test session starts =============================
platform win32 -- Python 3.6.2, pytest-3.6.0, py-1.4.34, pluggy-0.4.0
rootdir: C:\Users\TP\Documents\Python\pandasdev\pandas, inifile: setup.cfg
collected 12145 items / 3 skipped
..................................................................S......
........S................................................................
.........................................................................
==================== 12130 passed, 12 skipped in 368.339 seconds =====================
2.5 pandas依赖关系
- setuptools:24.2.0 or higher
- NumPy:1.12.0 or higher
- python-dateutil:2.5.0 or higher
- pytz
2.5.1 推荐的依赖库
- numexpr:为了加速特定的数值操作,numexpr使用了多核,同时运用了智能分区和缓存(smart chunking and caching)来达到大规模加速。如果要安装,版本一定要在2.6.1以上。
- bottleneck:旨在加速特定种类的非数值(nan:not a number)估算。bottleneck运用了特定的cython程序来达到大规模加速。如果要安装,版本一定要在1.2.0以上。
注意: 这些库能极大地提高运行速度,非常推荐安装这些包,尤其是在处理大规模数据集的时候。
2.5.2 可选的依赖关系
-
cython:只在构建开发环境时必选,版本要在0.28.2以上
-
scipy:包含丰富的统计功能,版本要在0.18.1以上
-
xarray:像pandas一样可以处理大于2维的数据集。如果要转换面板数据到xarray对象,必须安装xarray。推荐版本在0.7.0以上。
-
PyTables:用于基于HDF5格式(层次性数据格式)的储存文件,版本要在3.4.2以上。
-
pyarrow:用于基于FEATHER格式(快速磁盘储存格式)的储存文件,版本要在0.9.0以上。
-
Apache Parquet:用于parquet(一种列式储存格式)格式的储存文件,要求pyarrow在0.7.0版本以上或fastparquet在0.2.1版本以上。支持用snappy(压缩格式)或brotli(压缩格式)压缩。
-
SQLAlchemy:用于SQL数据库的支持。推荐版本在0.8.1以上。除了SQLAlchemy,还需要一个数据库驱动。在SQLAlchemy文档能够找到每种SQL方言的支持的驱动。常见的驱动有下面几种:
- psycopg2:用于PostgreSQL
- pymysql:用于MySQL
- SQLite:用于SQLite,这个库内置在python的基本库里
-
matplotlib:用于可视化,版本要在2.0.0以上
-
用于Excel I/O(详情可点这里):
- xlrd/xlwt:读取excel(xlrd),版本要在1.0.0以上,编辑excel(xlwt).这两者针对的是xls格式的excel文件。
- openpyxl:用于编辑xlsx格式的excel文件,要求xlrd版本在0.9.0以上。
- XlsxWriter:可选的excel编辑工具
-
Jinja2:条件HTML格式的模板引擎
-
s3fs:访问Amazon S3的必要库,版本要在0.0.7以上
-
gcsfs:访问谷歌云储存服务的必要库,版本要在0.1.0以上
-
qtpy(要求要PYQT或者PySide)、PyQt5、PyQt4、pygtk,xsel或者xclip中的一种:使用read_clipboard()*的前置必要库。大多数Linux发行版中的包管理器都提供xclip或xsel安装。
*read_clipboard():pandas中的一个方法,用于读取剪切板中的数据。在excel选中相关数据并按下ctrl+c,然后使用read_clipboard()就可以读取剪切板中的这些数据. -
pandas-gbq:用于Google BigQuery I/O(云数据分析引擎),要求版本在0.8.0以上。
-
Backports.lzma:只用于python2,目的是读写CSV中用xz格式压缩的数据集。Python3对此的支持已经移入了标准库中。
要使用高阶的读取html函数(read_html())的话,需要下面这些包组合中的一种组合。
0.23.0版本中有所更改。
注意:如果要使用BeautifulSoup4,其版本要求在4.2.1以上。- BeautifulSoup4和html5lib(html5lib最新版本中的任意一种都ok)
2.BeautifulSoup4和lxml
3.BeautifulSoup4、html5lib和lxml
4.只使用lxml,虽然不推荐这种组合。至于不推荐的理由,请查阅html表解析.
- 如果你要安装BeautifulSoup4,必须同时也安装lxml、html5lib或者两者都安装。如果只安装了BeautifulSoup4,read_html()将用不了。
- 强烈建议用户阅读HTML表解析Gotchas*.它解释了上面3个库的安装和使用的一些问题。
* Gotcha:可点击查看wiki百科的解释。Gotcha大致可解释为一种编程语言中的一种合法构造,但是很容易被调用和出错,也被叫做“陷阱”。
注意:如果你使用的系统上有apt-get,可以直接运行:
sudo apt-get build-dep python-lxml
这样就可以获取安装lxml的必要前置库了。以免将来出现各种头疼的问题。
- BeautifulSoup4和html5lib(html5lib最新版本中的任意一种都ok)
注意: 如果没有上面可选的一些依赖库,很多有用的功能都会用不了。因此,强烈建议你安装这些库。可以考虑安装集成了这些库的发行版程序,比如Anaconda、ActivePython(2.7版本或3.5版本)或者Enthought Canopy.
网友评论