【发布时间】:2020-11-12 20:33:49
【问题描述】:
我的数据框如下所示(10K 行):
price distance cab_type ride_type temp rain weekend time price_per_km 0 9.612 4.54 Lyft Shared 6.90 0.02 0.0 22:53:00 2.117181 1 2.728 0.63 Uber Regular 5.09 0.00 0.0 18:38:00 4.330159 2 7.512 4.38 Uber Regular 3.69 0.00 0.0 15:58:00 1.715068
我需要找到平均值 price_per_km 最高的时间。我已经按小时对数据进行了分组
grouped = df.groupby(df.time.map(lambda t: t.hour))
每小时创建 24 个组,其中包含所有数字数据的统计信息。我可以通过
选择 price_per_km 的平均值的最大值max(grouped['price_per_km'].mean())
我得到了最大均值的值,但不知道如何得到它在哪一行(它属于哪个组)。我可以打印组对象并通过print(grouped.describe()) 手动查找它在哪一行,但这效率不高,而且组数越多就越困难。
那么,当我知道最大均值时,如何获得组呢?注意我不想要原始 DF 中的行,我只能找到这样的帖子。
【问题讨论】:
标签: python pandas dataframe pandas-groupby