我有Pandas df。
family age fruits
------------------
Brown 12 7
Brown 33 5
Yellow 28 3
Yellow 11 9
我想得到年龄与下一个条件。
所以结果df将是。
family age
-----------
Brown 12
Yellow 11
我们可以这样做。
(df.sort_values(['family','fruits'], ascending=[True,False])
.drop_duplicates('family')
)
我们可以这样做:输出
family age fruits
0 Brown 12 7
3 Yellow 11 9
或者用 groupby().idxmax()
df.loc[df.groupby('family').fruits.idxmax(), ['family','age'] ]
输出。
family age
0 Brown 12
3 Yellow 11
使用 head
之后 sort_values
df.sort_values(['family','fruits'], ascending=[True,False]).groupby('family').head(1)