首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将h:mm:ss更改为hh:mm:ss

将h:mm:ss更改为hh:mm:ss
EN

Stack Overflow用户
提问于 2021-05-14 06:33:01
回答 3查看 948关注 0票数 1

我正在使用python,我有一个df,如下所示:

代码语言:javascript
复制
time
00:01:24
00:22:44
00:12:32
00:02:56

我想把它改变为

代码语言:javascript
复制
time
01:24:00
22:44:00
12:32:00
02:56:00

我第一次从列中删除00:时使用:

代码语言:javascript
复制
df['time'] = df['time'].str.strip('00:)

然后试着

代码语言:javascript
复制
df['time'] =pd.to_datetime(df['time'], format="%H:%M").dt.time

但却给出了错误

代码语言:javascript
复制
ValueError: time data '1' does not match format '%H:%M' (match)

最终,当条形化00:列值正在变成

代码语言:javascript
复制
1:24
22:44
12:32
2:56

有人能帮我吗,out.Thanks

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-05-14 06:43:33

代码语言:javascript
复制
df['time'] = pd.to_datetime(df.time, format="%S:%H:%M").dt.time
df

输出

代码语言:javascript
复制
    time
0   01:24:00
1   22:44:00
2   12:32:00
3   02:56:00
票数 3
EN

Stack Overflow用户

发布于 2021-05-14 06:49:27

带着你所展示的样品,请试一试。利用Pandas的str.replace函数。

代码语言:javascript
复制
df['time'].str.replace(r"^(\d{2}):(\d{2}):(\d{2})",r"\2:\3:\1")

解释:处理DataFrame的time列并使用.str.replace函数替换值。在匹配部分中,利用捕获组的功能能力创建3个捕获组(其中第1组将有1~2位,后面跟着冒号,第2和第3组也是相同的),然后在替换它们的位置时,得到预期的输出。

票数 3
EN

Stack Overflow用户

发布于 2021-05-14 06:41:08

datetime进行强制转换,更改为必需的格式。

代码语言:javascript
复制
import pandas as pd

pd.to_datetime(df['time'], format="%S:%H:%M").dt.strftime("%H:%M:%S")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67529976

复制
相关文章

相似问题

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