考虑以下两个data.frames在Python 3使用大熊猫创建:删除在在python另一个data.frame确切的行和一个data.frame的行频率3
a1 = pd.DataFrame(({'A': [1, 2, 3, 4, 5, 2, 4, 2], 'B': ['a', 'b', 'c', 'd', 'e', 'b', 'd', 'b']}))
a2 = pd.DataFrame(({'A': [1, 2, 3, 2], 'B': ['a', 'b', 'c', 'b']}))
我想删除在A2 A1的确切行,这样的结果应该是:
A B
4 d
5 e
4 d
2 b
注意,一排在A1 2 b为保留在最终结果(实际上只有其中的一个被与一个取消在a2)中。有没有在熊猫或任何其他库中的任何内置函数来获得这个结果?
这个术语是但不幸的是'pd.Index.difference()'不足以应付,尽管它意味着集合差异。我希望能使用像'pd.Index(a1).difference(a2)'这样的东西,但它不能正确处理非唯一的项目。 –
约翰Zwinck我今天了解到'索引(a1)'。希望我完成了你的方法 – Dark