我有以下数据帧:
df=pd.DataFrame([[0,1,7,0,1,8,3,0],
[7, 3, 4, 0, 4, 9, 7, 0]],
columns=pd.MultiIndex.from_乘积([[quot;first";,“second";],
[“A”、“B”、“C”、“D”])
打印(df)
第一秒
A B C D A B C D
0 0 1 7 0 1 8 3 0
1 7 3 4 0 4 9 7 0
我想检查第一列中的值是否存在于第二列的任何列中。只能比较同一行
生成的数据帧应如下所示:
A B C D
0对-对-错-对
1正确-错误-正确-正确
这样做的最佳方式是什么?我已经尝试过使用df[“first”].isin(df[“second””),但它只比较A和A,B和B,…还尝试了与.any()组合使用,但我似乎无法使它工作
非常感谢你的帮助
先谢谢你
Numpy广播
np.any(df['first'].T.values[:,:,None]==df['second'].values,axis=-1.T
数组([[True,True,False,True],
[对,错,对,对]]