pd.to_datetime()返回错误的日期

时间:2016-06-22 15:21:08

标签: python pandas datetime-format

我正在尝试提取日期列中的所有唯一值。在这种情况下,只有一个值,因此很容易看到错误。

我用来看这个的代码是:

print df['Date'].unique()
print pd.to_datetime(df['Date'], format = "%Y-%m-%d").unique())

我得到的两个结果是

['2016-06-01']

表示第一行和

['2016-05-31T20:00:00.000000000-0400']

为第二行。有没有办法纠正这个?

修改

EdChum的评论。

代码:

import pandas as pd
from datetime import datetime, timedelta

archive = pd.read_csv(r'J:\xxxx\xxxx\Archive.csv')
date_list = archive['Date'].unique()
date_list_test = pd.to_datetime(archive['Date'], format = "%Y-%m-%d").unique()

print date_list
print date_list_test

enter image description here

1 个答案:

答案 0 :(得分:1)

numpy显示日期的方式只是一个问题 - 版本1.11即将消失。

In [55]: np.__version__
Out[55]: '1.10.4'

In [56]: pd.to_datetime(['2015-05-31'])
Out[56]: DatetimeIndex(['2015-05-31'], dtype='datetime64[ns]', freq=None)

In [57]: pd.to_datetime(['2015-05-31']).values
Out[57]: array(['2015-05-30T19:00:00.000000000-0500'], dtype='datetime64[ns]')

In [58]: pd.Series(pd.to_datetime(['2015-05-31']).values)
Out[58]: 
0   2015-05-31
dtype: datetime64[ns]

numpy 1.11

In [94]: np.__version__
Out[94]: '1.11.0'

In [96]: pd.to_datetime(['2015-05-31'])
Out[96]: DatetimeIndex(['2015-05-31'], dtype='datetime64[ns]', freq=None)

In [97]: pd.to_datetime(['2015-05-31']).values
Out[97]: array(['2015-05-31T00:00:00.000000000'], dtype='datetime64[ns]')