2016-11-12 10 views
0
Name  Amount 
--------------- 
Alice  100 
Bob   50 
Charlie  200 
Alice  30 
Charlie  10 
Bob   300 
Charlie  55 
Charlie  12 

をxの最初の5を選択してください人それぞれの金額:アリス、チャーリーなどが費やした上位5つの金額。これを新しいデータフレームに入れます。 残りのすべての支出は無視されます。パンダデータフレーム、私は (ここで助けを必要としない)量でソートして、トップ5を選択したい上記のデータフレームを考えると、最初のyの5、Zの最初の5、など

答えて

2

あなたはnlargest()メソッドを使用することができIIUC:

In [12]: top2 = df.groupby('Name').Amount.nlargest(2).reset_index().drop('level_1',1) 

In [13]: top2 
Out[13]: 
     Name Amount 
0 Alice  100 
1 Alice  30 
2  Bob  300 
3  Bob  50 
4 Charlie  200 
5 Charlie  55 
関連する問題