2017-04-23 18 views
0

有數據幀大熊貓:根據他們的無序多列得到唯一的行值

In [1]: df = pd.DataFrame([[1,2],[2,3],[3,4],[2,1]], columns=['id_1', 'id_2']) 
Out [1]: 
    id_1 id_2 
0  1  2 
1  2  3 
2  3  4 
3  2  1 

如何以及什麼是id_1=iid_2=j選擇行的最好方法,例如有在id_1=jid_2=i沒有行df

對於上面的例子中預期的結果是

id_1 id_2 
1  2  3 
2  3  4 

回答

2

您可以首先將值按行,排序,然後檢查重複:

df[~df.apply(pd.np.sort, axis=1).duplicated(keep=False)] 

# id_1 id_2 
#1  2  3 
#2  3  4 
+1

謝謝'pd.np.sort'顯得非常有用。 – tarashypka