2017-07-16 75 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