学习笔记
目录
Pandas对象:
数据的取值与选择
Pandas数值运算方法
缺失值的处理:
层级索引:
合并与连接数据集:
累积与分组:
Pandas库
Pandas对象:
Pandas有三个基本数据结构:Series、DataFrame和Index
-
Series对象:Series对象与一维的NumPy数组很像,本质的差异是前者多了索引。这个索引可以是隐式的,也可以利用index参数显示定义。所以说Series是特殊的字典。
注:与字典不同的是,Series对象还支持数组形式的操作,如通过切片(索引)获取Series的一部分。 -
DataFrame对象:如果将Series类比为带灵活索引的一维数组,那么DataFrame就可以看作是一种既有灵活行索引,又有灵活列名的二位数组。我们也可以把DataFrame看成是有序排列的若干Series对象。形如:
注:DataFrame的index属性可以获取索引标签(行);columns属性则是存放列标签的Index对象。 -
Index对象:可将其看作一个不可变数组或有序集合,其许多操作都像数组,与NumPy数组对象有许多相似的属性,还能进行并集、交集、差集等操作。
数据的取值与选择:
- Series:不仅有和字典一样的接口,还具备和NumPy数组一样的数据选择功能,包括索引、掩码、花哨的索引等操作;
- DataFrame:可以通过列名获取某一列的数据,此外许多性质和Series对象类似,且许多用于处理NumPy形式数据的方法(如索引器等)都可以用于DataFrame对象;
Pandas数值运算方法:
Pandas是建立在NumPy基础之上的,继承了其的功能,所以NumPy的通用函数同样适用于Pandas的Series和DataFrame对象。
- 对于一元运算,这些通用函数将在输出结果中保留索引和列标签;
- 对于二元运算,Pandas在传递通用函数时会自动对齐索引进行计算,其中包含对缺失值的自动处理,及对广播规则等的遵守。
缺失值的处理:
主要形式有:null、NaN、NA
- 识别缺失值的两种方法:①通过一个覆盖全局的掩码表示缺失值;②用一个标签值表示缺失值;
- 发现缺失值的两种方法:isnull()和notnull()。每种方法都返回布尔类型的掩码数据,可直接作为Series或DataFrame对象的索引使用;
- 剔除缺失值的两种方法:dropna()(剔除缺失值)和fillna()(填充缺失值)。其中.dropna()默认剔除包含缺失值的整行,可用.dropna(axis=‘columns’)来设置为剔除包含缺失值整列;
- 填充缺失值的方法:fillna()方法,它会返回填充了缺失值后的数组副本,可通过传递数值来设置替换值,也可通过设置参数method=‘ffill’或method=‘bfill’来设置用缺失值前面或后面的有效值来填充。
层级索引:
- 可以对Series设置多级索引;
- 可以将多级索引的Series对象转化为普通索引的DataFrame;
- 可以直接创建多级索引的DataFrame对象,并通过多级索引进行取值或切片等。
合并与连接数据集:
- 涉及索引重复的默认处理,多级索引添加等;
- 不同的合并形式包括:①一对一连接;②多对一连接;③多对多连接;
- 可以通过参数指定列名(一个或多个)为合并依据,且可设置连接形式如:内/外连接或左/右连接;
累积与分组:
- Pandas的DataFrame对象的累积与Series对象的区别在于需要注意累积的是行还是列,DataFrame的累积函数默认对每列进行统计,通过设置参数axis=‘columns’可以使其对每行进行累积;
- 累积函数如:
注:DataFrame和Series对象支持上面所有方法。DataFrame的describe()方法可以一次性获得所有累计值。 - 还有其他操作如:累积、过滤、转换和应用等。