2017-07-16 73 views
-2

我有這樣一個數據幀的GROUPBY後只顯示2行:如何在大熊貓

Company Country 
ABC  USA 
ABC  USA 
BCD  USA 
BCD  USA 
ABC  USA 

輸出應該是: -

Company Country 
ABC  USA 
BCD  USA 
+0

什麼'groupby'您使用? – jezrael

+0

或更好的代碼是什麼? – jezrael

回答

3

我想你需要drop_duplicates如果需要唯一值在所有列:

df = df.drop_duplicates() 
print (df) 
    Company Country 
0  ABC  USA 
2  BCD  USA 

,或者對於檢查重複需要指定列(S)添加參數subset

df = df.drop_duplicates(subset=['Company']) 
print (df) 
    Company Country 
0  ABC  USA 
2  BCD  USA 

和解決方案與groupby和骨料first

df = df.groupby('Company', as_index=False).first() 
print (df) 
    Company Country 
0  ABC  USA 
1  BCD  USA 
+0

你確定嗎?這與groupby無關(OP明顯要求) –

+0

@cᴏʟᴅsᴘᴇᴇᴅ - 這有點不清楚,所以我嘗試獲得所需的輸出。但我不確定。 – jezrael

+1

@cᴏʟᴅsᴘᴇᴇᴅ,OP似乎不需要'groupby' - 沒有聚集,沒有減少等。 – MaxU

2

只是爲了完整起見,你也可以使用:

df.groupby('Company').head(1) 
Out: 
    Company Country 
0  ABC  USA 
2  BCD  USA