一、pandas 是什么
pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析。它提供了大量高级的数据结构和对数据处理的方法。
pandas 有两个主要的数据结构:Series 和 DataFrame。
二、Series
Series 是一个一维数组对象,类似于 NumPy 的一维 array。它除了包含一组数据还包含一组索引,所以可以把它理解为一组带索引的数组。
将 Python 数组转换成 Series 对象:
![](https://img.haomeiwen.com/i27537/01b2ccb459c99775.png)
将 Python 字典转换成 Series 对象:
![](https://img.haomeiwen.com/i27537/673d6179ad77795a.png)
当没有显示指定索引的时候,Series 自动以 0 开始,步长为 1 为数据创建索引。
你也可以通过 index 参数显示指定索引:
![](https://img.haomeiwen.com/i27537/998b3a1753a42b11.png)
对于 Series 对象里的单个数据来说,和普通数组一样,根据索引获取对应的数据或重新赋值;
不过你还可以传入一个索引的数组来获取数据或未数据重新赋值:
![](https://img.haomeiwen.com/i27537/800f3b960e4a7dd1.png)
想要单独获取 Series 对象的索引或者数组内容的时候,可以使用 index 和 values 属性,例如:
![](https://img.haomeiwen.com/i27537/150914fc37eb1d07.png)
对 Series 对象的运算(索引不变):
![](https://img.haomeiwen.com/i27537/7bb05b86fc5eefa9.png)
三、DataFrame
DataFrame 是一个表格型的数据结构。它提供有序的列和不同类型的列值。
例如将一个由 NumPy 数组组成的字典转换成 DataFrame 对象:
![](https://img.haomeiwen.com/i27537/a18c97ad649c5e76.png)
DataFrame 默认根据列名首字母顺序进行排序,想要指定列的顺序?传入一个列名的字典即可:
![](https://img.haomeiwen.com/i27537/29af787d4450c6b8.png)
如果传入的列名找不到,它不会报错,而是产生一列 NA 值:
![](https://img.haomeiwen.com/i27537/f8d93a09ce4756b4.png)
DataFrame 不仅可以以字典索引的方式获取数据,还可以以属性的方法获取,例如:
![](https://img.haomeiwen.com/i27537/9d48887a717dd578.png)
修改列的值:
![](https://img.haomeiwen.com/i27537/51bcb8a0f4947f4d.png)
删除某一列:
![](https://img.haomeiwen.com/i27537/b7cb8e1ff8ea6c4b.png)
网友评论