python - Pandas 数据帧 : Convert Integer time hh:mm

标签 python pandas

我的数据框包含

 dep_time   sched_dep_time
0   517.0   515
1   533.0   529
2   0.0     0.0
3   544.0   545
4   1.0     101

我希望它在 5:17 、 5:15 作为出发和预定出发时间,NaN 填充 0 也 1.0 表示在 1:00 出发 尝试了以下

flight_data['dep_time']=flight_data['dep_time'].astype(str).apply(lambda x: 
                        pd.to_timedelta(x[:-2] + x[-2:]+':00'))

值错误:需要 hh:mm:ss 格式,收到时间:21 天 13:00:00.000000000:00 我什至不确定像 0,1,2.. 这样的 dep_time 应该如何转换。谢谢并感谢您的帮助

最佳答案

  • pd.to_numericerrors='coerce'
  • fillna(0)
  • pd.to_timedelta

d1 = pd.to_numeric(df.stack(), errors='coerce').fillna(0)
(pd.to_timedelta(d1 // 100, unit='T') +
 pd.to_timedelta(d1 % 100, unit='S')).unstack()

  dep_time sched_dep_time
0 00:05:17       00:05:15
1 00:05:33       00:05:29
2 00:00:00       00:00:00
3 00:05:44       00:05:45
4 00:00:01       00:01:01

关于python - Pandas 数据帧 : Convert Integer time hh:mm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46431335/

相关文章:

字典列表中的Python访问字典

python - 包含最大值的列的名称

python - 使用多处理时拥有全局变量是否有效?

python - Matlab代码到Python代码的转换(使用数据帧)

Python "\n"标记额外行

Python正则表达式向字符串中的所有单词添加一个字符,除了和

python - 如何使用 python 下载需要登录的 .csv 文件?

python - 使用 Excel 工作表创建字典以替换值

python - Pandas - 将重复的行合并为一行

python - 检查 Column 是否超过特定值并替换