Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pd.to_datetime()返回错误的日期_Python_Pandas_Datetime Format - Fatal编程技术网

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

Python pd.to_datetime()返回错误的日期,python,pandas,datetime-format,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'] 第二行。有没有办法纠正这个问题 编辑: 请听埃德彻姆的评论 代码: 这只是一

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

我使用的代码是:

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']
第二行。有没有办法纠正这个问题

编辑:

请听埃德彻姆的评论

代码:


这只是一个关于
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]')

你能发布原始数据和代码来重现上面的内容吗?似乎你的时区引入了一个偏移量,就是oddHey@EdChum,我发布了问题中的代码。对于原始数据,您是否需要我键入它的外观?我想我无法在这里上传实际的csv。你能发布足够多的csv行来重现错误吗?@EdChum我发布了一张显示df.head()和两行代码输出的图像。我认为这是你环境的时区干扰,你最终想要的数据类型是什么
str
datetime
?嘿@chrisb这会纠正不正确的日期吗?我不仅仅是在看格式的改变。pd.to_datetime()返回的是2016年5月31日,而不是2016年6月1日。出于某些原因,这应该只是一个显示问题-有关更多信息,请参阅。尝试将您的结果(一个普通的
numpy
数组)包装回
系列中,它应该显示正确的日期?很抱歉延迟,我正在尝试安装numpy,出现了奇怪的错误。由于公司内部网的原因,我必须手动安装。当我运行setup.py时,我得到SystemError:构建numpy所需的函数之一不可用(列表为['sin'、'cos'、'tan'、'sinh'、'cosh',还有一大堆更清楚的东西-你不需要更新你的numpy。这只是一个显示问题-值是正确的。我用一个例子更新了我的答案,可能会让这更清楚。
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]')