我正在進行股票市場分析,在其中查看過去的資產負債表和損益表,并希望將日期列更改為將它們保存為“2021-09-30”形式的字串到日期時間。我正在嘗試使用 pd.to_datetime 但它給了我一個錯誤。
當我跑
df['datekey'] = pd.to_datetime(df['datekey'], format='%Y-%m-%d')
我得到
“ValueError:時間資料“2021-09-30”與指定的格式不匹配”
什么時候應該(如果我這樣做是正確的)。
此列中沒有時間值。它只是(對于所有日期)“2021-09-30”。
uj5u.com熱心網友回復:
似乎值本身用雙引號括起來,您還需要在格式中包含引號:
df['datekey'] = pd.to_datetime(df['datekey'], format='"%Y-%m-%d"')
或者,您可以在轉換為日期時間之前去掉引號,如果某些值沒有用雙引號括起來,這很有用:
df['datekey'] = pd.to_datetime(df['datekey'].str.strip('"'), format='%Y-%m-%d')
uj5u.com熱心網友回復:
您的資料中有額外的引號和空格。嘗試:
df["datekey"] = pd.to_datetime(df["datekey"].str.replace(" ","").str.strip('"'), format="%Y-%m-%d")
>>> df["datekey"]
0 2021-09-30
1 2021-06-30
2 2021-03-31
3 2020-12-31
4 2020-09-30
5 2020-06-30
6 2020-03-31
7 2019-12-31
8 2019-09-30
9 2019-06-30
Name: datekey, dtype: datetime64[ns]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/370508.html
上一篇:無法將字串物件轉換為時間
下一篇:在Pandas中合并日期和時間
