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

2024-09-28 17:03:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据框:-

输入-

  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

艾米73

所以基本上我想在年龄列中找到最高的值,我还想知道年龄最高的人的名字

我试过使用group by的熊猫,如下所示:-

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

但通过这一点,我得到如下输出:

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

我只想去哪里

艾米73

我该怎么做呢


Tags: 数据nameagemollyfirstlast年龄jason
2条回答

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

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

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

然后使用df.loc[df.age.idxmax(),['first_name','age']]我们将得到“first_name”列&;'在这个指数上是“年龄”

这行代码应该可以完成这项工作

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

[['first_name','age']]具有结果输出中所需的列的名称。 随意改变。 在这种情况下,输出将是

first_name  Age
Amy         73

相关问题 更多 >