我有一个数据框架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')