三、选择
虽然标准的 Python/Numpy 的选择和设置表达式都能够直接派上用场,但是作为工
程使用的代码,我们推荐使用经过优化的 pandas 数据访问方式: .at , .iat ,
.loc , .iloc 和 .ix 。
获取
3.1 选择一个单独的列,这将会返回一个Series,等同于df.A
3.2 通过[]进行选择,这将会对行进行切片。(对行进行索引)
通过标签选择
1、通过标签来获取一个交叉的区域
2、通过标签来在多个轴上进行选择
3、标签切片
4、对于返回的对象进行维度缩减
5、获取一个标量
通过位置选择
1、通过传递数值进行位置选择(选择的是行)
2、通过数值进行切片,与numpy中的情况类似
3、通过指定一个位置的列表,与numpy、python中的情况类似
4、对行进行切片
5、对列进行切片
6、获取特定的值
快速访问标量,和上方法一致。
布尔索引
1、使用一个单独列的值来选择数据
2、使用where 操作来选择数据:
图中,不符合df>0的数据,显示为NaN.
3、使用isin() 方法来过滤:
isin 用来选择 符合特定值的行,df2['E'].isin(['two','four']) 构成布尔索引。
设置
1、设置一个新的列:
2、通过标签设置新的值:
3、通过位置设置新的值:
4、通过一个numpy数组设置一组新值:
上述操作的结果如下:
5、通过where 操作设置新值:
上图,将大于0 的值赋予相反值。
四、缺失值处理
在 pandas 中,使用 np.nan 来代替缺失值,这些值将默认不会包含在计算中。
1、reindex() 方法可以对指定轴上的索引进行改变/增加/删除操作,这将返回原始数据的一个拷贝。
2、去掉包含缺失值的行:
3、对缺失值进行填充:
4、对数据进行布尔填充:
判断数据是否为空,空位True,否则为False,返回一组布尔值。