Pandas教程-Pandas DataFrame.where()
where() 方法的主要任务是检查数据框是否满足一个或多个条件,并根据条件返回结果。默认情况下,如果行不满足条件,则用 NaN 值填充。
语法
DataFrame.where(cond, other=nan, inplace=False, axis=None, level=None, errors='raise', try_cast=False, raise_on_error=None)
参数
- cond: 用于检查数据框的一个或多个条件。
- other: 用用户定义的对象替换不满足条件的行;默认值为 NaN。
- inplace: 返回布尔值。如果值为 True,则在数据框本身中进行更改。
- axis: 要检查的轴(行或列)。
返回值
示例1
import pandas as pd
import numpy as np
a = pd.Series(range(5))
a.where(a > 0)
a.mask(a > 0)
a.where(a > 1, 10)
info = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])
info
b = info % 3 == 0
info.where(b, -info)
info.where(b, -info) == np.where(b, info, -info)
info.where(b, -info) == info.mask(~b, -info)
输出
A B
0 True True
1 True True
2 True True
3 True True
4 True True