查找一列中相对于其他列的最大值



我有以下数据帧:-

输入-

  first_name last_name  age  preTestScore  postTestScore
0      Jason    Miller   42             4             25
1      Molly  Jacobson   52            24             94
2       Tina       Ali   36            31             57
3       Jake    Milner   24             2             62
4        Amy     Cooze   73             3             70

我希望输出为:-0

Amy 73

所以基本上我想在年龄栏中找到最高的值,我也想要年龄最高的人的名字。

我试着用熊猫组,如下所示:-

df2=df.groupby(['first_name'])['age'].max()

但有了这个,我得到了如下输出:

first_name
Amy      73
Jake     24
Jason    42
Molly    52
Tina     36
Name: age, dtype: int64

因为我只想要

Amy 73

在熊猫身上我该怎么做?

您可以使用下面的代码获得结果

df.loc[df.age.idxmax(),['first_name','age']]

这里,使用df.age.idxmax(),我们得到具有最大年龄值的行的索引。

然后使用df.loc[df.age.idxmax(),['first_name','age']],我们将获得列"first_name"&amp年龄。

这行代码应该完成的工作

df[df['age']==df['age'].max()][['first_name','age']]

[['first_name','age']]具有您希望在结果输出中显示的列的名称。随心所欲地改变。在这种情况下,输出将是

first_name  Age
Amy         73

最新更新