我有以下数据帧:-
输入-
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"&年龄。
这行代码应该完成的工作
df[df['age']==df['age'].max()][['first_name','age']]
[['first_name','age']]
具有您希望在结果输出中显示的列的名称。随心所欲地改变。在这种情况下,输出将是
first_name Age
Amy 73