【发布时间】:2018-06-19 14:51:07
【问题描述】:
我想绘制一些日期时间,并想指定一个时间间隔,以便将它们捆绑在一起并制作直方图。例如,如果在一小时内碰巧有 n 个日期时间,则将它们组合在一起或将它们解析为年、月、日、小时。并省略分钟和秒。 假设我有一个包含一些日期时间值的数据框:
import pandas as pd
import numpy as np
from datetime import datetime, timedelta
date_today = datetime.now()
days = pd.date_range(date_today, date_today + timedelta(7), freq='D')
np.random.seed(seed=1111)
data = np.random.randint(1, high=100, size=len(days))
df = pd.DataFrame({'test': days, 'col2': data})
df = df.set_index('test')
print(df)
2018-06-19 17:10:32.076646 29
2018-06-20 17:10:32.076646 56
2018-06-21 17:10:32.076646 82
2018-06-22 17:10:32.076646 13
2018-06-23 17:10:32.076646 35
2018-06-24 17:10:32.076646 53
2018-06-25 17:10:32.076646 25
2018-06-26 17:10:32.076646 23
理想情况下,我想指定一个更灵活的时间间隔,例如“6 小时”,以便对日期时间进行某种模运算。这可能吗?
【问题讨论】:
-
您可以使用
pd.cut,然后使用pd.date_range指定您的垃圾箱,这将允许您指定合理的定期间隔,例如freq='6H'。或者只是pd.Grouper。如果您需要更多帮助,您应该编辑您的问题以包含 MCVE -
很抱歉没有提供 MCVE。我希望这有帮助。你提到的方法听起来很有希望。在 pd.cut 或 pd.Grouper 的帮助下,我将如何做到这一点?提前谢谢你。
标签: python pandas python-datetime