Pandas是Tensorflow的一个库,提供了一些数据处理的方法。常用的是Series和DataFrame两种数据结构。Series相当于一维数组,与List类似,但功能比List要丰富很多,Series还拥有了Dictionary的很多优点。
下面的程序都在PyCharm的Console中运行,为了方便查看,使用了截图。
1、Pandas的导入,为了方便使用直接导入了Series和DataFrame:
2、简单使用
与List的sort方法类似,Series对于值也有排序方法,Series.sort_values(),但要求元素的类型相同,否则无法比较大小而报错。
不过用下标来索引s3,不会像数组一样改变顺序,且s2不会改变
如果需要像列表一样对数据进行排序,需要使用values属性,下面介绍。
3、与Dictionary的比较使用
Series的另外一个特点就是结合了Dictionary的优点,下标Index可以被指定:
上面没有指定s2的下标,因此默认是从0开始的整数
值得注意的是s2的values和index元素都是List,只是index是只读的。因此可以对values进行排序,下面另外给出一个案例:
如此排序,Series的标签位置不会改变,但值会被排序,在使用中一定要注意。
参考Dictionary,Series的index-value对可以用Dictionary来定义
同样,s4也可以使用del方法来删除元素,并可以直接增加元素,下面删除了aa下标的元素,并增加了dd下标值为oo的元素
字典的in关键词也一样可以使用
4、特殊用法
Pandas为Series增加的功能是其主要亮点。
定义方法2:
该定义方法和字典方法定义完全一样
抽取指定下标的元素:
s5中的“aa”没有被复制。若指定的下标在s5中不存在,对应的值会是NaN
乘法:
若元素都是数值,则每个元素分别做乘法运算
加法:
在s5和s6都存在元素相加,否则值就是NaN
判断值是否NaN有两种形式:
利用下标来筛选数据: