首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python pandas数据帧日期和时间组合

Python pandas数据帧日期和时间组合
EN

Stack Overflow用户
提问于 2017-05-22 09:19:36
回答 2查看 759关注 0票数 0

我有一个熊猫数据框架,如下所示

代码语言:javascript
复制
   Date    Time
2011-08-03  10:52:30

'Date‘列的数据类型是: datetime64ns,'Time’列的数据类型是: object

我想通过将这两列合并在一起来创建一个新列,如下所示: 2011-08-03 14:52:30,然后计算该列中连续时间之间的持续时间(增量时间)。如何将具有不同数据类型的这两种数据组合在一起,并计算增量时间?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2017-05-22 09:38:55

代码语言:javascript
复制
df
#         Date      Time
#0  2011-08-03  10:52:30

df.dtypes
#Date    datetime64[ns]
#Time            object
#dtype: object

将日期列格式化为字符串,将其与时间列一起添加,然后将其转换回日期时间

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 2017-05-22 14:51:40

更简单的是使用to_timedelta

代码语言:javascript
复制
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

但如果列Timetypedatetime.time,则添加astype

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44103373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档