0%

Pandas

Pandas库-处理和分析数据最好的第三方库

官方网站

1
import pandas as pd

两个数据类型:Series和DataFrame,基于ndarray扩展的数据类型。Pandas注重数据和索引之间的关系。

Series(一维数据类型)

由一组数据和其索引组成,就是一维带标签的数据,类似于字典和ndarray的操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import pands as pd
#自定义索引
b = pd.Series([9,8,7,6],index=['a','b','c','d'])
#python中NaN表示为空
#获得索引和值
b.index
b.values
#Series可以进行切片
b[:3]
#针对于ndarray进行的操作也可以用于Series
np.exp(b)
#输出大于元素中位数的索引
b[b>b.median()]
#判断键是否在Series中和调取键值
'c' in b
b.get('a')

对齐问题:运算中只运算相对应索引的元素

Dataframe(二维数据类型)

多列的数据共用相同索引,表格型数据类型。我理解为c中的数组

有行索引也有列索引。纵向索引index,横向索引column

1
2
3
import pandas as pd
import numpy as np
b = DataFrame(np.nrange(10).reshape(2,5))

字典转换成DataFrame格式的时候,键会变成表头,值会变成竖着排列的值。

尝试着用DataFrame处理CSV文件

d.reindex:重排生成的表格。

1
2
.reindex(index=None, columns=None, …)
index是lie,column是行
方法 说明
.append(idx) 连接另一个Index对象,产生新的Index对象
.diff(idx) 计算差集,产生新的Index对象
.intersection(idx) 计算交集
.union(idx) 计算并集
.delete(loc) 删除loc位置处的元素
.drop() 删除Series和DataFrame指定行或列索引

数据类型的算术运算

  • 加减乘除算数运算
方法 说明
.add(d, **argws) 类型间加法运算,可选参数
.sub(d, **argws) 类型间减法运算,可选参数
.mul(d, **argws) 类型间乘法运算,可选参数
.div(d, **argws) 类型间除法运算,可选参数

eg.b.add(a, fill_value=100)

Note:还可以直接利用+-*/运算

  • 比较运算

>< >= <= == !=进行大小比较,与每个元素都比较,返回布尔值