pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。本文是对它的一个入门教程。
pandas提供了快速,灵活和富有表现力的数据结构,目的是使“关系”或“标记”数据的工作既简单又直观。它旨在成为在Python中进行实际数据分析的高级构建块。
入门介绍
pandas适合于许多不同类型的数据,包括:
具有异构类型列的表格数据,例如SQL表格或Excel数据 有序和无序(不一定是固定频率)时间序列数据。 具有行列标签的任意矩阵数据(均匀类型或不同类型) 任何其他形式的观测/统计数据集。由于这是一个Python语言的软件包,因此需要你的机器上首先需要具备Python语言的环境。关于这一点,请自行在网络上搜索获取方法。
关于如何获取pandas请参阅官网上的说明:pandas Installation。
通常情况下,我们可以通过pip来执行安装:
sudo pip3 install pandas
或者通过conda 来安装pandas:
conda install pandas
目前(2018年2月)pandas的最新版本是v0.22.0(发布时间:2017年12月29日)。
我已经将本文的源码和测试数据放到Github上:pandas_tutorial ,读者可以前往获取。
另外,pandas常常和NumPy一起使用,本文中的源码中也会用到NumPy。
建议读者先对NumPy有一定的熟悉再来学习pandas,我之前也写过一个NumPy的基础教程,参见这里:Python 机器学习库 NumPy 教程
核心数据结构
pandas最核心的就是Series
和DataFrame
两个数据结构。
这两种类型的数据结构对比如下:
DataFrame可以看做是Series的容器,即:一个DataFrame中可以包含若干个Series。
注:在0.20.0版本之前,还有一个三维的数据结构,名称为Panel。这也是pandas库取名的原因:pan-da-s。但这种数据结构由于很少被使用到,因此已经被废弃了。
Series
由于Series是一维结构的数据,我们可以直接通过数组来创建这种数据,像这样:
# data_structure.pyimport pandas as pdimport numpy as npseries1 = pd.Series([1, 2, 3, 4])print("series1:/n{}/n".format(series1))
这段代码输出如下:
series1:0 11 22 33 4dtype: int64
这段输出说明如下:
输出的最后一行是Series中数据的类型,这里的数据都是int64类型的。 数据在第二列输出,第一列是数据的索引,在pandas中称之为Index。我们可以分别打印出Series中的数据和索引:
# data_structure.pyprint("series1.values: {}/n".format(series1.values))print("series1.index: {}/n".format(series1.index))
新闻热点
疑难解答