我有一個包含date_time以下格式列的資料集:
date_time
01.01.2018 00:00 - 01.01.2018 00:15 (UTC)
01.01.2018 00:15 - 01.01.2018 00:30 (UTC)
01.01.2018 00:30 - 01.01.2018 00:45 (UTC)
01.01.2018 00:45 - 01.01.2018 01:00 (UTC)
.
.
.
通過使用 Pandas 讀取此資料集,我需要使用以下內容將date_time列從型別轉換object為datetime:
df['date_time'] = pd.to_datetime(df['date_time'])
但是,我收到此錯誤
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/dateutil/parser/_parser.py", line 643, in parse
raise ParserError("Unknown string format: %s", timestr)
dateutil.parser._parser.ParserError: Unknown string format: 01.01.2018 00:00 - 01.01.2018 00:15 (UTC)
顯然,pandas 不知道date_time原始格式。我該如何解決這個問題?
uj5u.com熱心網友回復:
首先,您擁有的是一個范圍,而不是單個日期時間。
首先將其拆分為開始和結束日期時間:
df[['dt_start', 'dt_end']] = df['date_time'].str.split(' - ', expand = True)
現在,開始日期時間轉換沒有問題(utc = True如果您想保持時區感知,請使用):
df['dt_start'] = pd.to_datetime(df['dt_start'], utc = True)
結束日期時間需要一些幫助來手動輸入格式,因為to_datetime默認情況下帶有引數的決議器無法識別(UTC)戳記:
df['dt_end'] = pd.to_datetime(df['dt_end'], format = '%d.%m.%Y %H:%M (UTC)', utc = True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/363353.html
上一篇:“系列的真值不明確。使用a.empty、a.bool()、a.item()、a.any()或a.all()。”將函式應用于資料框時
下一篇:回傳價格最高的第一個日期時間
