首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pandas将增量时间列转换为一个唯一的单位时间

pandas将增量时间列转换为一个唯一的单位时间
EN

Stack Overflow用户
提问于 2020-06-03 05:06:09
回答 2查看 42关注 0票数 0

我正在使用一个pandas数据帧,其中我有一个deltatime列,值如下:

{'deltatime':0天09:06:30,0天00:30:34,2天23:07:14 }

如何将这些时间转换为单个单位,如分钟或小时,以便在图形中更好地可视化这些时间。有什么想法吗?

这里:https://pandas.pydata.org/pandas-docs/stable/user_guide/timedeltas.html

它并没有阐明如何简单地更改单位

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-03 05:11:35

您可以使用timedeltatotal_seconds()方法来获取其持续时间,单位为秒:

代码语言:javascript
运行
复制
seconds = [t.total_seconds() for t in df['deltatime']]

然后根据需要转换单位:

代码语言:javascript
运行
复制
#to hours, i.e. 3600 seconds
hours = [t.total_seconds()/3600 for t in df['deltatime']]
票数 2
EN

Stack Overflow用户

发布于 2020-06-03 05:12:10

您可以执行以下操作:

代码语言:javascript
运行
复制
df['deltatime'] = pd.to_timedelta(df['deltatime']).dt.total_seconds()

输出:

代码语言:javascript
运行
复制
   deltatime
0    32790.0
1     1834.0
2   256034.0

您还可以在timedelta上执行算术运算

代码语言:javascript
运行
复制
# convert to hours
pd.to_timedelta(df['deltatime']) / pd.to_timedelta('1H')

输出:

代码语言:javascript
运行
复制
0     9.108333
1     0.509444
2    71.120556
Name: deltatime, dtype: float64
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62161398

复制
相关文章

相似问题

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