Skip to main content
 首页 » 编程设计

python之Pandas :将时间间隔整数转换为时间

2025年05月04日37wuhuacong

我想将 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)