python數據處理——dataframe指定多列去重,求差集

1)去重

指定多列去重,這是在dataframe沒有獨一無二的字段作爲PK(主鍵)時,需要指定多個字段一起作爲該行的PK,在這種情況下對整體數據進行去重。

Attention:主要用到了drop_duplicates方法,並設置參數subset爲多個字段名構成的數組。

 


>>>import pandas as pd  
>>>data={'state':[1,1,2,2,1,2,2],'pop':['a','b','c','d','b','c','d']}

2)求差集

假設有兩個dataframe爲a和b,a和b可以是相互包含的關係,現在想要將a中和b重複的內容去掉,也就是求差集,步驟如下:

(1)需要對兩個dataframe進行去重。

(2)利用append方法,a=a.append(b)

(3)再次利用append方法,a=a.append(b)

(4)去重,利用drop_duplicates方法,a=a.drop_duplicates(),以及設置參數keep=False,意思就是只要有重複,重複的記錄都去掉。(keep默認='first',也就是保留第一條記錄)

具體代碼如下: 
 

>>>data_a={'state':[1,1,2],'pop':['a','b','c']}
>>>data_b={'state':[1,2,3],'pop':['b','c','d']}
>>>a=pd.DataFrame(data_a)
>>>a 
	pop	state
0	a	1
1	b	1
2	c	2
>>>b=pd.DataFrame(data_b) 
>>>b
	pop	state
0	b	1
1	c	2
2	d	3
>>>a = a.append(b)
>>>a = a.append(b)
>>>result = a.drop_duplicates(subset=['pop','state'],keep=False)
>>>result
	pop	state
0	a	1

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章