不是说英语的人, 我有一个df。可以说在df中的“ a”列中将“ apple”与c列中的其他“ apple”进行比较,并合并为df。
比较'a'列中的值(苹果),并将其与'c'列中的相同值(苹果)进行比较,并组合成df
df
a b c
0 9 11 values
1 apple 10 testcase
2 8 8 apple
3 7 7 apple
4 6 6 test
5 5 5 items
resultant_df
a b c
0 apple 10 testcase
1 8 8 apple
2 7 7 apple
我试图比较并获得一个值,但无法获得所有值。
答案 0 :(得分:1)
您可以使用boolean indexing:
resultant_df=df[df[['a','c']].eq('apple').any(axis=1)]
resultant_df.reset_index(drop=True,inplace=True)
print(resultant_df)
a b c
0 apple 10 testcase
1 8 8 apple
2 7 7 apple
说明:使用df[['a','c']].eq('apple').any(axis=1)
,您在包含apple
的那些行中将得到一个具有True值的Serie。 Reset_index
仅用于将索引重置为0,1,2 ...
df[['a','c']].eq('apple').any(axis=1)
0 False
1 True
2 True
3 True
4 False
5 False
dtype: bool
如果在所有列中还必须考虑'apple'
,则可以使用:
df.eq('apple').any(axis=1)