簡體   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