Pandas to_date为我的日期列中的所有值返回NaT



我正在使用一个显示历史电价的数据帧。我想将"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'

相关内容

  • 没有找到相关文章