繁体   English   中英

Python - 比较两列功能,返回两者不相同的值

[英]Python - Compare two columns of features, return values which are not common to both

我想比较两列特征(“a”,“b”)并仅返回两者不相同的值。 行的大小不相等,值可能会出现多次。

我试过了:

a[np.logical_not(np.in1d(a,b))]

但如果len(b)> len(a),这似乎不起作用

有什么建议么?

IIUC您正在寻找对称差异

来源DFs:

In [41]: d1
Out[41]:
   a
0  a
1  b
2  c
3  x
4  d
5  l
6  z

In [42]: d2
Out[42]:
   b
0  b
1  a
2  d
3  c
4  y

Numpy解决方案:

In [43]: np.setdiff1d(np.union1d(d1.a, d2.b), np.intersect1d(d1.a, d2.b))
Out[43]: array(['l', 'x', 'y', 'z'], dtype=object)

熊猫解决方案:

In [44]: pd.Index.symmetric_difference(pd.Index(d1.a), pd.Index(d2.b))
Out[44]: Index(['l', 'x', 'y', 'z'], dtype='object')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM