我想将 5 分钟间隔(整数)转换为时间格式。
比如下面,0区间应该变成00:00,5区间应该变成00:05,等等
date interval
2012-10-01 0
2012-10-01 5
2012-10-01 10
2012-10-01 15
2012-10-01 20
2012-10-01 25
2012-10-01 30
2012-10-01 35
2012-10-01 40
我认为以下方法可行:
df['interval'] = pd.to_datetime(df['interval'], format='%H:%M').dt.hour
但是它返回这个错误:
时间数据 0 不匹配格式 '%H:%M'(匹配)
这是合乎逻辑的,但让我不清楚如何格式化 to.datetime 格式参数。我在 pandas documentation 中看不到任何内容这有帮助。
更新
不幸的是,我无法让这些中的任何一个与我的实际 DataFrame 一起工作。我应该添加更多信息,即 interval 变量一遍又一遍地从 0 运行到 2355。该变量有 17,568 行 0 到 2355 的值。
@padraig,你的两个答案我都得到了这个错误:
ValueError:小时必须在 0..23 中
请您参考如下方法:
只需将其格式化为字符串即可。
方法一(使用旧样式):
"%02d:%02d" % (int(interval / 60), interval % 60)
方法 2(使用较新的样式):
"{:02d}:{:02d}".format(int(interval / 60), interval % 60)
