首页 > 解决方案 > 熊猫是多列的条件

问题描述

我有一个数据框

col1    col2    col3    col4
A         F      F      F
B         F      A      B
C         B      A      C
D         S      A      F

我想说如果这些列中的任何一个中的 A 和 F 然后创建一个新列并输入“找到”

col1    col2    col3    col4   output
A         F      F      F        Found
B         F      A      B        Found
C         B      A      C           0
D         S      A      F        Found

标签: pandasif-statementcontains

解决方案


利用 :

df['output']=np.where(df.eq('A').any(1) & df.eq('F').any(1),'Found',0)

另一种方法:

df['output']=(df.eq('A').any(1) & df.eq('F').any(1)).map({True:'Found',False:0})

输出:

  col1 col2 col3 col4 output
0    A    F    F    F  Found
1    B    F    A    B  Found
2    C    B    A    C      0
3    D    S    A    F  Found

推荐阅读