文章目录
三、数值取值与选择
1.Series数据选择方法
Series 对象与一维 NumPy 数组和标准 Python 字典在许多方面都一样。
1). 将Series看作字典
和字典一样, Series 对象提供了键值对的映射
用 Python 字典的表达式和方法来检测键 / 索引和值
Series 对象还可以用字典语法调整数据。
2). 将Series看作一维数组
Series 不仅有着和字典一样的接口,而且还具备和 NumPy 数组一样的数组数据选择功能,包括索引、 掩码、 花哨的索引等操作
3). 索引器: loc、 iloc和ix
这些切片和取值的习惯用法经常会造成混乱。特别是当显示索引用整数表示时。
所以 Pandas 提供了一些索引器(indexer)属性来作为取值的方法。它们不是 Series 对象的函数方法,而是暴露切片接口的属性。
- loc 属性——显式
- iloc 属性—— 隐式
- ix 现已过期
2.DataFrame数据选择方法
1). 将DataFrame看作字典
按照上一节的方法,使用Series对象字典创建DataFrame
- 字典形式取列——d[k] --df[name]
- 属性形式取列 df.name(非字典属性)
两者等价,避免对用属性形式选择的列直接赋值
- 用字典形式的语法调整对象,比如新增列
2). 将DataFrame看作二维数组
用 values 属性按行查看数组数据
用T方法进行转置
3). 其他方法和索引器: loc、 iloc和ix
ix已经过期,其余方法取行列总结如下
这里:
是指为筛选的所有行,如果想对行进行筛选,可以替换成条件,如data.loc[data.are>10000,'are']
掩码操作
注:iloc和loc混合使用
例子:将midage的数据中第100行的"Pclass"和"Sex"的数据显示出来
midage.iloc[100:101,:].loc[:,['Pclass','Sex']]
iloc[100:101,:]包头不包尾,只取第100行