Python数据帧日期和时间组合
我有一个熊猫数据框,如下所示Python数据帧日期和时间组合,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个熊猫数据框,如下所示 Date Time 2011-08-03 10:52:30 “日期”列的数据类型为:datetime64[ns],而“时间”列的数据类型为:object 我想通过如下方式组合两列来创建一个新列2011-08-03 14:52:30,然后计算列中连续时间之间的持续时间(增量时间)。如何将这两种数据类型与不同的数据类型结合起来,并计算增量时间 谢谢 将日期列格式化为字符串,将其与时间列一起添加,然后将其转换回日期时间: 更简单的用法是: 非常感谢。我试过
Date Time
2011-08-03 10:52:30
“日期”列的数据类型为:datetime64[ns],而“时间”列的数据类型为:object
我想通过如下方式组合两列来创建一个新列2011-08-03 14:52:30,然后计算列中连续时间之间的持续时间(增量时间)。如何将这两种数据类型与不同的数据类型结合起来,并计算增量时间
谢谢
将日期列格式化为字符串,将其与时间列一起添加,然后将其转换回日期时间:
更简单的用法是:
非常感谢。我试过这个。但是,连接部分总是有以下错误:TypeError:强制使用Unicode:需要字符串或缓冲区,datetime.time Found在我将.map(str)添加到@Psidom answer时解决了这个问题。谢谢!ValueError:(“未知字符串格式:”,“2018-01-01 8-33-39”)
df
# Date Time
#0 2011-08-03 10:52:30
df.dtypes
#Date datetime64[ns]
#Time object
#dtype: object
df['DateTime'] = pd.to_datetime(df.Date.dt.strftime("%Y-%m-%d") + " " + df.Time)
df.dtypes
#Date datetime64[ns]
#Time object
#DateTime datetime64[ns]
#dtype: object
df
# Date Time DateTime
#0 2011-08-03 10:52:30 2011-08-03 10:52:30
print (type(df.loc[0, 'Time']))
<class 'str'>
df['DateTime'] = df['Date'] + pd.to_timedelta(df.Time)
print (df)
Date Time DateTime
0 2011-08-03 10:52:30 2011-08-03 10:52:30
print (type(df.loc[0, 'Time']))
<class 'datetime.time'>
df['DateTime'] = df['Date'] + pd.to_timedelta(df['Time'].astype(str))
print (df)
Date Time DateTime
0 2011-08-03 10:52:30 2011-08-03 10:52:30