一、pandas 是什么
pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析。它提供了大量高级的数据结构和对数据处理的方法。
pandas 有两个主要的数据结构:Series 和 DataFrame。
二、series简介
Series 是一个一维数组对象 ,类似于 NumPy 的一维 array。它除了包含一组数据还包含一组索引,所以可以把它理解为一组带索引的数组。
将 Python 数组转换成 Series 对象:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/863601/o_ch05-0.png)
将 Python 字典转换成 Series 对象:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/863601/o_ch05-00.png)
当没有显示指定索引的时候,Series 自动以 0 开始,步长为 1 为数据创建索引。
你也可以通过 index 参数显示指定索引:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/863601/o_ch05-1.png)
对于 Series 对象里的单个数据来说,和普通数组一样,根据索引获取对应的数据或重新赋值;
不过你还可以传入一个索引的数组来获取数据或未数据重新赋值:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/863601/o_ch05-2.png)
想要单独获取 Series 对象的索引或者数组内容的时候,可以使用 index 和 values 属性,例如:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/863601/o_ch05-3.png)
对 Series 对象的运算(索引不变):
![](https://images.cnblogs.com/cnblogs_com/sirkevin/863601/o_ch05-4.png)
三、DataFrame
DataFrame 是一个表格型的数据结构。它提供有序的列和不同类型的列值。
例如将一个由 NumPy 数组组成的字典转换成 DataFrame 对象:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/863601/o_ch05-5.png)
DataFrame 默认根据列名首字母顺序进行排序,想要指定列的顺序?传入一个列名的字典即可:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/863601/o_ch05-6.png)
如果传入的列名找不到,它不会报错,而是产生一列 NA 值:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/863601/o_ch05-7.png)
DataFrame 不仅可以以字典索引的方式获取数据,还可以以属性的方法获取,例如:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/863601/o_ch05-8.png)
修改列的值:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/863601/o_ch05-9.png)
删除某一列:
![](https://images.cnblogs.com/cnblogs_com/sirkevin/863601/o_ch05-10.png)