我有这个熊猫数据框df_scaled
。
Name Date Sales
283 AXP 10-02-2009 1.143791
284 AXP 11-02-2009 1.065359
285 AXP 12-02-2009 1.039869
286 AXP 13-02-2009 1.049020
287 AXP 17-02-2009 0.975817
288 AXP 18-02-2009 0.922222
我运行以下代码,将Date
列中的日期格式从dd-mm-yyyy
转换为yyyy-mm-dd
。
df_scaled['Date'] = pd.to_datetime(df_scaled['Date']).dt.strftime('%Y-%m-%d')
结果看起来像这样;
Name Date Sales
283 AXP 2009-10-02 1.143791
284 AXP 2009-11-02 1.065359
285 AXP 2009-12-02 1.039869
286 AXP 2009-02-13 1.049020
287 AXP 2009-02-17 0.975817
288 AXP 2009-02-18 0.922222
在前3行中,转换后的日期格式为yyyy-dd-mm
。在最后3行中,转换后的日期格式为yyyy-mm-dd
。在转换中产生这种不一致的代码有什么问题?
我正在使用python v3.6
答案 0 :(得分:3)
添加dayfirst
df_scaled['Date'] = pd.to_datetime(df_scaled['Date'], dayfirst=True).dt.strftime('%Y-%m-%d')
Out[510]:
283 2009-02-10
284 2009-02-11
285 2009-02-12
286 2009-02-13
287 2009-02-17
288 2009-02-18
Name: Date, dtype: datetime64[ns]