Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 转换/使用timedelta';时间到了_Python_Pandas_Datetime - Fatal编程技术网

Python 转换/使用timedelta';时间到了

Python 转换/使用timedelta';时间到了,python,pandas,datetime,Python,Pandas,Datetime,我有一个包含两列的数据帧:1列timedelta“Time”,1列datetime“datetime” 我的timedelta列只包含/显示正常的固定时间,它的时间从不超过24小时。它没有被用作“timedetla”,只是“time”。 这就是熊猫从我的数据库中获取数据的方式 我想要一个新的列“NewDateTime”,其中日期来自datetime,时间来自deltatime 所以我有这个: Time DateTime 1 09:01:00

我有一个包含两列的数据帧:1列timedelta“Time”,1列datetime“datetime”

我的timedelta列只包含/显示正常的固定时间,它的时间从不超过24小时。它没有被用作“timedetla”,只是“time”。 这就是熊猫从我的数据库中获取数据的方式

我想要一个新的列“NewDateTime”,其中日期来自datetime,时间来自deltatime

所以我有这个:

        Time       DateTime     
1       09:01:00   2018-01-01 10:10:10
2       21:43:00   2018-01-01 11:11:11
3       03:20:00   2018-01-01 12:12:12
我想要这个:

        Time       DateTime                NewDateTime
1       09:01:00   2018-01-01 10:10:10     2018-01-01 09:01:00
2       21:43:00   2018-01-01 11:11:11     2018-01-01 21:43:00
3       03:20:00   2018-01-01 12:12:12     2018-01-01 03:20:00
起初,我尝试将DateTime列的小时、分钟和秒设置为0。 然后我计划将timedelta添加到datetime

但当我尝试这样做时:

df['NewDateTime']=df['DateTime'].dt.replace(小时=0,分钟=0,秒=0)

我得到的
AttributeError:“DatetimeProperties”对象没有属性“replace”

用于删除时间:

df['NewDateTime'] = df['DateTime'].dt.floor('D') + pd.to_timedelta(df['Time'])
#if necesary convert times to strings
#df['NewDateTime'] = df['DateTime'].dt.floor('D') + pd.to_timedelta(df['Time'].astype(str))
print (df)
       Time            DateTime         NewDateTime
1  09:01:00 2018-01-01 10:10:10 2018-01-01 09:01:00
2  21:43:00 2018-01-01 11:11:11 2018-01-01 21:43:00
3  03:20:00 2018-01-01 12:12:12 2018-01-01 03:20:00

在61秒内,你给了我一个有效的答案。太不可思议了!这不是你第一次帮助我。我的'Time'列已经是一个timedelta,所以我只使用
+df['Time']
测试了您的解决方案,而且效果非常好。非常感谢。