熊猫数据框日期列中日期格式的转换不一致

时间:2018-08-13 14:19:17

标签: python python-3.x pandas date

我有这个熊猫数据框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

1 个答案:

答案 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]