我正在尝试提取日期列中的所有唯一值。在这种情况下,只有一个值,因此很容易看到错误。
我用来看这个的代码是:
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
答案 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]')