![](/img/trans.png)
[英]Python Pandas: TypeError: unsupported operand type(s) for +: 'datetime.time' and 'Timedelta'
[英]TypeError: unsupported operand type(s) for +: 'Timedelta' and 'datetime.time - python
我的代码如下:
import datetime
df_time_size=result1.loc[:, ['time']].copy()
time_interval = datetime.timedelta(minutes=number)
df_time_size.loc[:, 'time'] = (df_time_size.loc[:, 'time'] + time_interval)
我的 df_time_size 是一个日期时间列 12:00:00 我希望它存储在该列中,无论时间是多少加上 time_interval 所以如果number=5
第一个条目将是 12:05:00 但是,我收到以下错误: TypeError: unsupported operand type(s) for +: 'Timedelta' and 'datetime.time'
行: df_time_size.loc[:, 'time'] = (df_time_size.loc[:, 'time'] + time_interval)
I试过:
from datetime import datetime, timedelta
time_interval = timedelta(minutes = number)
还试过:
df_time_size.loc[:, 'time']=dt.datetime.combine( df_time_size.loc[:, 'time'] + timedelta)
但两者都给了我同样的错误。
Edited(): 我的 df_time_size 也是一个日期df_time_size['time'] = pd.to_datetime(df_time_size['time'], format='%H:%M:%S').dt.time
这对我有用。 您的df_time_size['time']
是datetime
df_time_size['time']
类型吗?
time_interval = datetime.timedelta(minutes=5)
df_time_size = pd.DataFrame({'time': ['12:00:00']})
df_time_size['time'] = pd.to_datetime(df_time_size['time'])
df_time_size.loc[:, 'time'] = (df_time_size.loc[:, 'time'] + time_interval)
print(df_time_size)
输出:
time
0 2020-03-15 12:05:00
如果我不将df_time_size['time']
转换为datetime
类型,它仍然有效。
time_interval = datetime.timedelta(minutes=5)
df_time_size = pd.DataFrame({'time': ['12:00:00']})
df_time_size.loc[:, 'time'] = (df_time_size.loc[:, 'time'] + time_interval)
print(df_time_size)
输出:
time
0 12:05:00
您可以发布您拥有的df
吗? 它将更好地解释您遇到的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.