[英]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.