我有一个数据框
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
答案 0 :(得分:3)
使用:
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
答案 1 :(得分:1)
尝试一下:
df.loc[df.apply(lambda x: ((x=='F').any() & (x=='A').any()).any(),axis=1), 'output'] = 'Found'
df.fillna(0)
答案 2 :(得分:0)
您可以使用pd.DataFrame.where():
git log --all --diff-filter=D --name-only --pretty=format:'' master..super-feature | sort | uniq