假设我有一个数据帧,其中有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')