我有两个熊猫数据框,分别是 df1 和 df2。df1 有 6 个变量,df2 有 5 个变量。两个数据帧中的第一个变量都是字符串格式,铰孔是 int 格式。
我想通过使用两个数据帧的前 3 列来识别两个数据帧中不匹配的记录,并且必须将它们从 df1 数据帧中排除。
为此,我尝试了以下代码,但它为我抛出了 Nan 值,如果我删除 Nan 值,则将删除所需的数据。
输入数据:-
**df1:-** **df2:-**
x1 x2 x3 x4 x5 x6 x1 x2 x3 x4 x5
SM 1 1 2 3 3 RK 2 4 3 4
RK 2 2 3 4 5 SM 1 1 3 3
NBR 1 2 2 5 6 NB 1 2 3 2
CBK 2 5 6 7 8 VSB 5 6 3 2
VSB 5 6 4 2 1 CB 2 6 4 1
SB 6 2 3 2 1 SB 6 2 4 1
预期输出:-
x1 x2 x3 x4 x5 x6
RK 2 2 3 4 5
CBK 2 5 6 7 8
NBR 1 2 2 5 6
句法:-
data_out=df1[~df1['x1','x2','x3'].isin(df2['x1','x2','x3'])]
data_out=data_out.dropna()
请任何人都可以帮助我解决这个问题。
提前致谢。