将 h:mm:ss 更改为 hh:mm:ss
Change h:mm:ss to hh:mm:ss
我正在与 python 合作,我有一个 df 为:
time
00:01:24
00:22:44
00:12:32
00:02:56
我想将其更改为
time
01:24:00
22:44:00
12:32:00
02:56:00
我首先使用以下方法从列中删除了 00::
df['time'] = df['time'].str.strip('00:)
然后试了
df['time'] =pd.to_datetime(df['time'], format="%H:%M").dt.time
但报错为
ValueError: time data '1' does not match format '%H:%M' (match)
最终在条带化 00 时:列值变为
1:24
22:44
12:32
2:56
谁能帮帮我out.Thanks
转换为 datetime
,更改为所需格式。
import pandas as pd
pd.to_datetime(df['time'], format="%S:%H:%M").dt.strftime("%H:%M:%S")
df['time'] = pd.to_datetime(df.time, format="%S:%H:%M").dt.time
df
输出
time
0 01:24:00
1 22:44:00
2 12:32:00
3 02:56:00
使用您显示的示例,请尝试执行以下操作。使用 Pandas.
的 str.replace
函数
df['time'].str.replace(r"^(\d{2}):(\d{2}):(\d{2})",r"::")
说明: 处理 DataFrame 的 time
列并使用 .str.replace
函数替换值。在匹配部分使用函数的捕获组功能创建 3 个捕获组(其中第一个将有第一个 2 位数字后跟冒号,第二个和第三个也将相同),然后在替换它的同时交换它们的位置以获得预期的输出。
我正在与 python 合作,我有一个 df 为:
time
00:01:24
00:22:44
00:12:32
00:02:56
我想将其更改为
time
01:24:00
22:44:00
12:32:00
02:56:00
我首先使用以下方法从列中删除了 00::
df['time'] = df['time'].str.strip('00:)
然后试了
df['time'] =pd.to_datetime(df['time'], format="%H:%M").dt.time
但报错为
ValueError: time data '1' does not match format '%H:%M' (match)
最终在条带化 00 时:列值变为
1:24
22:44
12:32
2:56
谁能帮帮我out.Thanks
转换为 datetime
,更改为所需格式。
import pandas as pd
pd.to_datetime(df['time'], format="%S:%H:%M").dt.strftime("%H:%M:%S")
df['time'] = pd.to_datetime(df.time, format="%S:%H:%M").dt.time
df
输出
time
0 01:24:00
1 22:44:00
2 12:32:00
3 02:56:00
使用您显示的示例,请尝试执行以下操作。使用 Pandas.
的str.replace
函数
df['time'].str.replace(r"^(\d{2}):(\d{2}):(\d{2})",r"::")
说明: 处理 DataFrame 的 time
列并使用 .str.replace
函数替换值。在匹配部分使用函数的捕获组功能创建 3 个捕获组(其中第一个将有第一个 2 位数字后跟冒号,第二个和第三个也将相同),然后在替换它的同时交换它们的位置以获得预期的输出。