检查列中的值是否存在于数据框行的其他位置

5 python numpy dataframe pandas

假设我有一个数据框如下:

df = pd.DataFrame({'a':[1,2,3,4],'b':[2,3,4,5],'c':[3,4,5,6],'d':[5,3,2,4]})
Run Code Online (Sandbox Code Playgroud)

我想检查列中的元素是否d存在于其相应行的其他位置。所以我想要的结果是

[False, True, False, True]
Run Code Online (Sandbox Code Playgroud)

为此,我使用了

df.apply(lambda x: x['d'] in x[['a','b','c']], axis=1)
Run Code Online (Sandbox Code Playgroud)

但这在某种程度上给了我[False, False, False, False]

小智 3

尝试:

out = (df[['a','b','c']].T==df['d']).any()
Run Code Online (Sandbox Code Playgroud)

输出:

0    False
1     True
2    False
3     True
dtype: bool
Run Code Online (Sandbox Code Playgroud)