2017-01-06 14 views
2

を1列の最大を取る:パンダ - 私は、次のようなデータフレームを持つ複数の行に対して

import pandas as pd 
data={'location':['LA','LA','SF','LA','SF','LA','SF'], 'col2': [1, 3, 5, 2, 8, 5, 7], 'col3': [11, 14, 54, 67, 2, 9, 45]} 
df=pd.DataFrame(data,columns=['location', 'col2', 'col3']) 
print df 

location col2 col3 
0  LA  1 11 
1  LA  3 14 
2  SF  5 54 
3  LA  2 67 
4  SF  8  2 
5  LA  5  9 
6  SF  7 45 

私は「場所」をGROUPBYしたいし、私のすべての行の「COL2」の最大を取ります私はcol3の最大値を望んでいません。私は、 "col3"の値が "col3"の行と同じ値になりたいとします。この値は、その場所の最大 "col2"を持っています。どのように私が行ったときにデータフレームを見たいのです:事前に

location col2 col3 
0  LA  5  9 
1  SF  8  2 

おかげで、

  • しかし、idxmax()をつかむと、locでこれを使用し、予想通りのものが

  • 答えて

    4
    • groupby('location').col2不明であるなら、私に知らせてフルdf

    df.loc[df.groupby('location').col2.idxmax()] 
    
        location col2 col3 
    5  LA  5  9 
    4  SF  8  2 
    
    関連する問題