首页 > 解决方案 > 为什么在 Pandas 中转换为日期时间时日期格式会有所不同?

问题描述

我有一个如下的数据框。

data = [['250635', 'Comcast Cable Internet Speeds', '22-04-15', '22-Apr-15', '3:53:50 PM'],
        ['223441', 'Payment disappear - service got disconnected', '04-08-15', '04-Aug-15', '10:22:56 AM'],
        ['242732', 'Speed and Service', '18-04-15', '18-Apr-15', '9:55:47 AM'],
        ['277946', 'Comcast Imposed a New Usage Cap of 300GB that punishes streaming.', '05-07-15', '05-Jul-15', '11:59:35 AM']]

df = pd.DataFrame(data, columns = ['Ticket #', 'Customer Complaint', 'Date', 'Date_month_year', 'Time'])

数据框有一个日期列,格式为 dd-mm-yy。

我已使用以下方法将对象列转换为日期时间:

df['Date'] = pd.to_datetime(df['Date'])

但是,这会产生一个结果,其月份和日期随机切换位置,例如,

日期 日期_月_年
2015-04-22 15 年 4 月 22 日
2015-04-08 2015 年 8 月 4 日
2015-04-18 2015 年 4 月 18 日
2015-05-07 2015 年 7 月 5 日

例如,第 1 个和第 3 个条目的 YYYY-mm-dd 顺序是正确的,但第 2 个和第 4 个条目的月份和日期是错误的,并且是 YYYY-dd-mm 的顺序。

标签: pythonpandasdataframedatedatetime

解决方案


to_datetime接受格式字符串,您可以在您的情况下将其用作:

pd.to_datetime(df['Date'], format='%d-%m-%y')

推荐阅读