pd.只有一行的数据框上的Datetime失败



我有一个数据框架df,有一行和以下列

NAME, START_DATE, END_DATE
XYZ   01/01/2023          

使用下面的语句将列START_DATE和END_DATE转换为日期列

df.loc[:, 'START_DATE'] = pd.to_datetime(df['START_DATE'])
df.loc[:, 'END_DATE'] = pd.to_datetime(df['END_DATE'])

我得到错误'Cannot convert float to NaN'

但奇怪的是如果数据帧df有多于一行

NAME, START_DATE,  END_DATE
Nick  01/01/2023          
Jack  01/05/2023           

语句运行良好。

那么为什么当数据框中只有一行时它会失败呢?

我尝试了很多选择,但都是徒劳的。任何建议都将大有帮助

df.loc[:, 'START_DATE'] = pd.to_datetime(df['START_DATE'])试图保持原始dtype,这可能是您错误的原因。

你应该替换整个列:

df['START_DATE'] = pd.to_datetime(df['START_DATE'], errors='coerce')

最新更新