Python中时间非索引时如何统计每小时实例数量
非索引datetime列的每小时实例统计方案
你可以用两种简单的方法实现需求,而且你尝试的代码本身是有效的,并非只适用于datetime作为索引的场景:
方法1:保留你的pd.Grouper写法
pd.Grouper的key参数就是专门用来指定非索引的datetime列的,你的代码逻辑没问题,执行后就能得到每小时的实例数:
strt_bar = strt.groupby(pd.Grouper(key='DT', freq='H')).count()
执行后,strt_bar的索引会是每小时的起始时间,对应的值就是该小时内的记录数量。
方法2:直接对datetime列做小时截断分组
更直观的写法是用dt.floor('H')把DT列的时间截断到小时级别,再分组计数:
strt_bar = strt.groupby(strt['DT'].dt.floor('H')).count()
这种写法不需要依赖pd.Grouper,直接通过列处理实现分组统计,结果和方法1一致。
内容的提问来源于stack exchange,提问作者Sara
相关产品推荐
相关产品推荐

