📜  Pandas DataFrame.where()

📅  最后修改于: 2020-10-29 02:50:45             🧑  作者: Mango

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