我正在使用一个显示历史电价的数据帧。我想将"Months"列转换为datetime。我正在使用to_datetime
来执行此操作。但是,当我执行此操作时,所有日期都返回为NaT
。具体来说,数据帧来自以下内容:
Month ... PEA
0 Oct-22 ... 0.249
1 Sep-22 ... 0.021
2 Aug-22 ... -0.048
3 Jul-22 ... -0.053
4 Jun-22 ... -0.032
看起来像这样:
Month ... PEA
0 NaT ... NaN
1 NaT ... NaN
2 NaT ... NaN
3 NaT ... NaN
4 NaT ... NaN
我的代码如下:
import numpy as np
import pandas as pd
inputpath='HistoricalPrices'
dataset=pd.read_csv(inputpath,sep=',', dtype={'a': str},low_memory=False)
print(dataset.head())
dataset = dataset.iloc[::-1].reset_index(drop=True)
dataset['Month']=pd.to_datetime(dataset['Month'], errors='coerce', format='%m-%y')
print(dataset['Month'].dtypes)
print(dataset)
to_datetime
确实将Month
列从object
更改为datetime64[ns]
,但Month
列中的所有值都返回NaT
。我该如何解决这个问题?我是否在to_datetime
函数中做错了什么?我感谢任何帮助!
请尝试以下格式:format='%b-%y'