oldbee0925 2021-07-13 11:04 采纳率: 91.4%
浏览 43
已结题

python dataframe分组的求完整行怎么弄?

不好描述,只能举实例:

我有一个dataframe:

datatime count

2021-10 -12 00:02:13 102

2021-10 -12 03:04:13 72

2021-10 -12 08:02:11 98

2021-10 -18 00:02:13 11

2021-10 -19 00:02:13 12

2021-11 -12 07:05:13 143

2021-11 -12 08:12:13 131

2021-11 -12 11:34:13 100

2021-11 -12 12:02:13 12

我的需求:找出每天count最大的那行(主要是想知道最大count所在的时间),如果用循环一类的当然可以求出,我的想法是一个groupby就能得到,或者是简洁一点的语句。

但是:

df.datatime.groupby(df.datatime.apply(lambda x:datetime.datetime.strftime(x,'%Y:%m:%d')).max

这样得出的是一个series,只有字符串到年月日的期的index,以及每日的max(count),其他信息丢失了。
请教:
一个groupby得到每天最大count的时间段,或更简洁的方式;

  • 写回答

2条回答 默认 最新

  • 小小明-代码实体 2021-07-13 13:31
    关注

    高阶数据处理玩家小小明前来回答基础题:

    df.groupby(pd.to_datetime(df.datetime).dt.date).apply(lambda x: x.nlargest(1, "count")).droplevel(0)
    

    欢迎关注我的博客,获取复杂数据处理案例的解法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月23日
  • 已采纳回答 12月15日
  • 创建了问题 7月13日