第十五天
Pandas数据取值与选择
在前面介绍了获取、设置、调整Numpy数组数值的方法,包括取值操作、切片操作、掩码操作、花哨的索引以及组合操作。下面介绍Pandas的Series 和DataFrame 对象相似的数据获取与调整操作。
一、Series数据选择
如前所述,Series 对象与一维NumPy 数组和标准Python 字典在许多方面都一样。只要牢记住这两个类比,就可以帮助我们更好地理解Series 对象的数据索引与选择模式.
1.将Series看作字典
和字典一样,Series对象提供了键值对的映射:
import pandas as pd
data = pd.Series([0.25, 0.5, 0.75, 1.0], index=['a', 'b', 'c', 'd'])
data
# a 0.25
b 0.50
c 0.75
d 1.00
dtype: float64
data['b']
# 0.5
我们还可以用Python字典的表达式和方法来检测键/索引和值:
'a' in data
# True
data.keys()
# Index(['a', 'b', 'c', 'd'], dtype='object')
list(data.items())
# [('a', 0.25), ('b', 0.5), ('c', 0.75), ('d', 1.0)]
Series 对象还可以用字典语法调整数据。就像你可以通过增加新的键扩展字典一样,你也可以通过增加新的索引值扩展Series:
data['e'] = 1.25
data
# a 0.25
b 0.50
c 0.75
d 1.00
e 1.25
dtype: float64
Series 对象的可变性是一个非常方便的特性:Pandas 在底层已经为可能发生的内存布局和数据复制自动决策,用户不需要担心这些问题。
2.将Series看作一维