2015-10-19 38 views

回答

1

使用groupby和第一片20

In [4]: df 
Out[4]: 
    language page_name requests bytes 
0  en   a   1 220 
1  eu   b   1 620 
2  eu   b   1 620 
3  tr   c   1 780 
4  en   d   4 620 
5  en   e   9 1320 

In [5]: df.groupby('language')['requests'].sum() 
Out[5]: 
language 
en 14 
eu  2 
tr  1 
Name: requests, dtype: int64 

In [6]: df.groupby('language')['requests'].sum()[:20] 
Out[6]: 
language 
en 14 
eu  2 
tr  1 
Name: requests, dtype: int64 
+0

或'。頭(20)',而不是片,雖然我真的不知道哪一個更好。 –

+0

總和不排序,所以你需要'.order(升序= False)'在頭部之前。編輯:不,你想使用'.nlargest(10)'。 –

+0

謝謝John Galt。這對我有效。最後我只需要使用sort(ascending = False)。再次感謝 – user3252148