我有一个熊猫数据框架,如下所示
Date Time
2011-08-03 10:52:30'Date‘列的数据类型是: datetime64ns,'Time’列的数据类型是: object
我想通过将这两列合并在一起来创建一个新列,如下所示: 2011-08-03 14:52:30,然后计算该列中连续时间之间的持续时间(增量时间)。如何将具有不同数据类型的这两种数据组合在一起,并计算增量时间?
谢谢!
发布于 2017-05-22 09:38:55
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发布于 2017-05-22 14:51:40
更简单的是使用to_timedelta
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但如果列Time的type为datetime.time,则添加astype
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:30https://stackoverflow.com/questions/44103373
复制相似问题