pandas:基于多个条件列的高效行选择



假设我有一个数据帧,其中有3列a, B, C。我想选择列B满足某些条件或列C满足某些条件的行。有没有有效的方法来做这件事?

为了更具体,假设我有:
import pandas as pd
df = pd.DataFrame({'A':['mary','john','ashley'],
'B':['xiao','derric','john'],
'C':['faye','linnett','bruce']})

我想选择列B为John或列C为John的行。还有比

更优雅的方法吗?
df[(df['B']=='John') | (df['C']=='John')]

在我的实际应用程序中,df将有许多行,并且这个行选择要执行许多次。所以效率是需要的。

cols = ['A','B'...]
(df[cols] == 'John').any(axis='columns')

最新更新