Pandas 的日期时间组

Posted

技术标签:

【中文标题】Pandas 的日期时间组【英文标题】:Date Time Group By Pandas 【发布时间】:2018-08-13 17:18:37 【问题描述】:

我的数据框中有根据日期和时间的计数值。我想根据日期时间按计数值分组。问题是我有时间间隔 15 分钟来对应这些值。我希望这些值按小时分组。

输入:

Date Time                  Count 
01/01/2018 12:00 AM        5
01/01/2018 12:15 AM        4 
01/01/2018 12:30 AM        9
01/01/2018 12:45 AM        12
01/01/2018 01:00 AM        2
01/01/2018 01:15 AM        5 
01/01/2018 01:30 AM        9
01/01/2018 01:45 AM        7

需要输出:

Date Time                         Count 
01/01/2018 12:00 - 01:00 AM       30
01/01/2018 01:00 - 02:00 AM       23

请不要告诉我添加第一个值,因为根据日期这是不可能的

【问题讨论】:

如果将 1:00 AM 的值(值 2)聚合到第一行或第二行或两者中,您的输出是否不明确? 【参考方案1】:

你可以使用 dt.floor('h'):

df.groupby(df['Date Time'].dt.floor('h')).sum()
Out[33]: 
                     Count 
Date Time                  
2018-01-01 00:00:00      30
2018-01-01 01:00:00      23

【讨论】:

以上是关于Pandas 的日期时间组的主要内容,如果未能解决你的问题,请参考以下文章

Pandas 为缺失的日期填零 *由 * 组定义

在 Python Pandas 中将带有元素日期标签的年度财政数据元组转换为时间序列

分组日期滚动中最新非空值的 Pandas 日期索引

将日期和列表的元组转换为 Pandas 数据框

使用 pandas 将年月列干净地组合为单个日期列

填补 MultiIndex Pandas Dataframe 中的日期空白