对不起,如果我问愚蠢的问题,因为我正在努力学习。
假设我有两个这样的 Dataframe :
dataframe1 = pd.DataFrame({'col1': [1, 2, 3, 4, 2], 'col2': ['a', 'b', 'c', 'd', 'b']})
dataframe2 = pd.DataFrame({'col1': [2, 4], 'col2': ['b', 'd']})
我试过这个:
merged = pd.merge(dataframe1, dataframe2, how='outer', indicator=True)
result = merged[merged['_merge'] == 'left_only'][dataframe1.columns]
输出:
col1 col2
0 1 a
3 3 c
但是我想得到这个数据框作为结果(所以只删除其他数据框中的数量):
col1 col2
0 1 a
3 3 c
4 2 b
你能帮我吗?或者如果在不同的线程中回答,因为我找不到,请发送链接。
谢谢大家!
1条答案
按热度按时间mqxuamgl1#
你就快到了!
在
merge
之前使用groupby.cumcount
进行重复数据消除,并遵循您的逻辑:输出:
中间体
merged
: