Pandas有两个主要的数据结构:Series和DataFrame
1.1 Series数据选择方法
1.11 和字典一样,Series对象提供了键值对的映射
Series对象可以用字典语法调整数据
1.12 将Series看做一维数组
Series不仅有着和字典一样的接口,而且还具备和NumPy数组一样的数组数组选择功能,包括索引、掩码、花哨的索引等操作。
需要注意的是,当使用显示索引 (即data["a":"c"]})做切片时,结果包含最后一个索引;当使用隐式索引 (即data[0:2])做切片时,结果不包含最后一个索引。
1.13 索引器:loc、iloc和ix
这些切片和取值的习惯用法经常会造成混乱,例如,如果Series对象是显示整数索引,那么data[1]这样的取值操作会使用显示索引,
而data[1:3]这样的切片操作却会使用隐式索引。
由于整数索引很容易造成混淆,所以Pandas提供了一些索引器属性来作为取值的方法,它们不是Series对象的函数方法,而是暴露切片接口的属性。
第三种取值属性是ix,它是前两种牵引器的混合形式,在Series对象中ix等价于标准的python列表[]取值方式。ix索引器主要用于DataFrame对象,后续介绍。
1.2 DataFrame数据选择方法
1.21 将DataFrame看做字典
第一种类比是把DataFrame当做一个由若干Series对象构成的字典。
两个Series分别构成DataFrame的一列,可以通过对列名进行字典形式的取值获取数据。
同样,也可以用属性形式选择纯字符串列名的数据。
1.22 将DataFrame看做二维数组
前面提到DataFrame可以看成一个增强版的二维数组,用values属性按行查看数组数据,用index属性查看数组index
理解了以上一点,就可以把许多数组操作方式用在DataFrame上,例如,可以对DataFrame进行行列转置
通过字典形式对列进行取值会限制我们把DataFrame作为NumPy数组可以获得的能力,因此,在进行数组形式的取值时,我们需要用到前面提到过的Pandas索引器loc、iloc和ix。
任何一种取值方法都可以用于调整数据,这一点和NumPy的常用方法是相同的。
领取专属 10元无门槛券
私享最新 技术干货