我有df
number A B C
123 10 10 1
123 10 11 1
123 18 27 1
456 10 18 2
456 42 34 2
789 13 71 3
789 19 108 3
789 234 560 4
和第二个df
number A B
123 18 27
456 32 19
789 234 560
我需要,如果number, A, B
在第二个df中等于此列,则将其添加到新的df中,并且添加C
的字符串是相等的字符串,我们之前添加。
欲望输出
number A B C
123 10 10 1
123 10 11 1
123 18 27 1
789 234 560 4
我怎么写这个条件?
答案 0 :(得分:4)
一种方法是给df2一个虚拟列:
robots.txt
然后你可以进行合并:
In [11]: df2["in_df2"] = True
现在,我们只想要那些包含True的组:
In [12]: df1.merge(df2, how="left")
Out[12]:
number A B C in_df2
0 123 10 10 1 NaN
1 123 10 11 1 NaN
2 123 18 27 1 True
3 456 10 18 2 NaN
4 456 42 34 2 NaN
5 789 13 71 3 NaN
6 789 19 108 3 NaN
7 789 234 560 4 True