找出B中不属于A的元素的最有效方法是什么?
两组的索引列将用于比较。另一栏随附结果。
以下是一个示例,请记住A系列和B系列可能会变得很大:
print a
c2
c1
o80 a
o81 b
print b
c2
c1
o83 c
o81 b
这是期望的结果:
print c
c2
c1
o83 c
每次比较后,结果C将附加到正在运行的结果系列中。
我可以通过combine_first,比较结果等来完成这项工作,但它看起来并不优雅和简单,并且不能很好地扩展。
那些真正有经验的人的见解?
答案 0 :(得分:2)
我只想使用逻辑索引:
c1 = pandas.Series([1, 2], index=['A', 'B'], name='c1')
c2 = pandas.Series([3, 4, 5], index=['A', 'B', 'C'], name='c2')
c2[~c2.index.isin(c1.index)]
告诉我:
C 5
Name: c2, dtype: int64