![](/img/trans.png)
[英]Python: How to change a UTC timestamp from mm/dd/yyyy hh:mm:ss AM to dd/mm/yyyy hh:mm:ss AM
[英]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
有人可以幫我嗎。謝謝
df['time'] = pd.to_datetime(df.time, format="%S:%H:%M").dt.time
df
Output
time
0 01:24:00
1 22:44:00
2 12:32:00
3 02:56:00
使用您顯示的示例,請嘗試以下操作。 使用str.replace
Pandas 的 function。
df['time'].str.replace(r"^(\d{2}):(\d{2}):(\d{2})",r"\2:\3:\1")
說明:處理 DataFrame 的time
列並使用.str.replace
function 替換值。 在匹配部分使用 function 的捕獲組功能創建 3 個捕獲組(其中第一個將有第一個 2 位后跟冒號,第二個和第三個也將相同),然后在替換它時交換它們的位置以獲得預期的 output。
對datetime
進行強制轉換,更改為所需的格式。
import pandas as pd
pd.to_datetime(df['time'], format="%S:%H:%M").dt.strftime("%H:%M:%S")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.