python - 如何从组合 str timedelta/datetime 列创建时间戳列?蟒蛇熊猫
问题描述
我想从这些数据框中创建一个时间戳列(Heure fin inter.):
Date Heure Durée (min) Heure debut inter. Heure fin inter.
2019-08-11 13:50:00 00:10:00 2019-08-11 13:50:00 14:00:00
2019-08-11 15:00:00 00:30:00 2019-08-11 15:00:00 15:30:00
2019-08-11 16:30:00 00:05:00 2019-08-11 16:30:00 16:35:00
2019-08-11 18:00:00 00:15:00 2019-08-11 18:00:00 18:15:00
为此,我尝试了以下代码:
df1['Durée (min)'] = pd.to_timedelta(df1['Durée (min)'], unit='min')
df1['Heure'] = df1['Heure'].dt.strftime('%H:%M:%S')
df1['Date'] = df1['Date'].dt.strftime('%Y-%m-%d')
df1['Heure fin inter.'] = df1['Heure'] + df1['Durée (min)']
df1['TS fin inter.'] = df1['Date'] + " " + df1['Heure fin inter.']
但是我在最后一行代码中有这个错误:TypeError: unsupported operand type(s) for +: 'Timedelta' and 'str'
这里 df.info()
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Date 93 non-null object
1 Heure 93 non-null object
5 Durée (min) 93 non-null timedelta64[ns]
9 Heure debut inter. 93 non-null datetime64[ns]
10 Heure fin inter. 93 non-null timedelta64[ns]
预期结果:
Date Heure Durée (min) Heure debut inter. Heure fin inter.
2019-08-11 13:50:00 00:10:00 2019-08-11 13:50:00 2019-08-11 14:00:00
2019-08-11 15:00:00 00:30:00 2019-08-11 15:00:00 2019-08-11 15:30:00
2019-08-11 16:30:00 00:05:00 2019-08-11 16:30:00 2019-08-11 16:35:00
2019-08-11 18:00:00 00:15:00 2019-08-11 18:00:00 2019-08-11 18:15:00
解决方案
包括来自您的其他问题的信息,给定一个df
赞
df
date hour duration[min]
0 2019-08-11 13:50:00 10
1 2019-08-11 15:00:00 30
2 2019-08-11 16:30:00 5
3 2019-08-11 18:00:00 15
您可以简单地计算开始和结束时间戳,例如
df['interview_start'] = pd.to_datetime(df['date']+' '+df['hour'])
df['interview_end'] = df['interview_start'] + pd.to_timedelta(df['duration[min]'], unit='min')
# df
# date hour duration[min] interview_start interview_end
# 0 2019-08-11 13:50:00 10 2019-08-11 13:50:00 2019-08-11 14:00:00
# 1 2019-08-11 15:00:00 30 2019-08-11 15:00:00 2019-08-11 15:30:00
# 2 2019-08-11 16:30:00 5 2019-08-11 16:30:00 2019-08-11 16:35:00
# 3 2019-08-11 18:00:00 15 2019-08-11 18:00:00 2019-08-11 18:15:00
推荐阅读
- bloom-filter - 为什么布隆过滤器没有像 count-min 草图那样实现?
- python - 等待分组芹菜任务在python中完成
- json - Shell Script jq 在变量中读取带有句点 (.) 的 json 键
- php - OCS Inventory 不查询 BSSID 和 SSID
- serilog - Serilog - 仅保留 7 个最新文件
- c# - 用户关闭会话时如何执行代码?
- visual-studio-2019 - 在 Visual Studio 中删除代码后的空格
- python - 如何在 Tkinter 中使用 Copyleaks API?
- powershell - 以其他用户身份运行带变量的命令
- php - 使用 PHP 中另一个字段的值更新 MongoDB 字段