熊猫 - 多行最多一列

jth*_*359 2 python pandas

我有一个如下数据框:

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
Run Code Online (Sandbox Code Playgroud)

我想分组"位置",然后取我分组的所有行的"col2"的最大值,但我不想要"col3"的最大值.我希望"col3"的值与"col3"的行相同,该行具有该位置的最大"col2".我希望数据帧完成时的外观如下:

  location  col2  col3
0       LA     5     9
1       SF     8     2
Run Code Online (Sandbox Code Playgroud)

在此先感谢,如果有任何不清楚的地方,请告诉我

piR*_*red 5

  • groupby('location').col2 正如所料
  • 然而,抓住idxmax()loc完全使用它df

df.loc[df.groupby('location').col2.idxmax()]

  location  col2  col3
5       LA     5     9
4       SF     8     2
Run Code Online (Sandbox Code Playgroud)