如何将混合日期格式mm-dd-yyyy和yyyy-mm-dd转换为熊猫中的日期

时间:2018-08-21 05:54:12

标签: python

我正在读取熊猫中的多个csv文件,每个文件具有不同的日期格式

  df1
  Trans_Date              Value
  28-02-2018 02:19:00     123478
  24-02-2018 03:29:00     4456
  21-02-2018 04:22:00     5567
  01-03-2018 02:34:00     435
  02-03-2018 10:19:00     4567

我正在熊猫中使用以下功能将Trans_Date转换为datetime

 df['Trans_Date'] = pd.to_datetime(df1.Trans_Date)  

这给了我以下输出

  Trans_Date              Value
  2018-02-28 02:19:00     123478
  2018-02-24 03:29:00     4456
  2018-02-21 04:22:00     5567
  2018-01-03 02:34:00     435
  2018-02-03 10:19:00     4567

对于最后两个观察,其转换不正确。我不知道为什么。

将寻求帮助。

1 个答案:

答案 0 :(得分:1)

使用dayfirst=True

例如:

import pandas as pd

df = pd.DataFrame({'Trans_Date': ["28-02-2018 02:19:00", "24-02-2018 03:29:00", "21-02-2018 04:22:00", "01-03-2018 02:34:00", "02-03-2018 10:19:00"]})
print(pd.to_datetime(df.Trans_Date, dayfirst=True))

输出:

0   2018-02-28 02:19:00
1   2018-02-24 03:29:00
2   2018-02-21 04:22:00
3   2018-03-01 02:34:00
4   2018-03-02 10:19:00
Name: Trans_Date, dtype: datetime64[ns]