2017-03-04 14 views
1

マイENV:python3.6_x64、パンダ0.17.0、numpyの1.12.0pd.Seriesをdatetimeに変換する方法は?

コード:

>>> import pandas as pd 
>>> import numpy as np 
>>> df_date = pd.Series(['2017-3-1','2017-3-2']) 
>>> df_date 
0 2017-3-1 
1 2017-3-2 
>>> pd.to_datetime(df_date) 

エラー:

ValueError: Error parsing datetime string "2017-3-1" at position 5 
... 
SystemError: <class 'str'> returned a result with an error set 
+0

私は0.19.2時点にパンダを更新し、同じエラーが... –

+0

PD(0.18.1' – Zero

+0

印刷 '0.19.2' – jezrael

答えて

0

これはknown issueにたくさん見えますin pandasPython 3.6pandas version 0.19.2

で固定されています
In [12]: pd.Timestamp('invalid') 
--------------------------------------------------------------------------- 
ValueError        Traceback (most recent call last) 
ValueError: Error parsing datetime string "invalid" at position 0 

The above exception was the direct cause of the following exception: 

SystemError        Traceback (most recent call last) 
<ipython-input-12-91abde127db1> in <module>() 
----> 1 pd.Timestamp('invalid') 
pandas/tslib.pyx in pandas.tslib.Timestamp.__new__ (pandas/tslib.c:9932)() 
pandas/tslib.pyx in pandas.tslib.convert_to_tsobject (pandas/tslib.c:25231)() 
pandas/tslib.pyx in pandas.tslib.convert_str_to_tsobject (pandas/tslib.c:26851)() 
pandas/src/datetime.pxd in datetime._string_to_dts (pandas/tslib.c:87106)() 
SystemError: <class 'str'> returned a result with an error set 
+0

をまだ使っていないと思うので、今はpy3.5を使っています。 –

0

日付時刻の列が必要な場合は、pandas Seriesオブジェクトを単純なDataFrameオブジェクトに変換して列をdatetimeに変換することを検討してください。

+0

感謝します。 –

0

マイENV:私は同じコードを働いたがエラーを持っていない

パンダ(0.18.1)、numpyの(1.12.1)、Pythonの3.6.1(デフォルト、2017年4月18日、午前1時19分53秒) 。 このような私の出力:

>>> import pandas as pd 
>>> import numpy as np 
>>> df_date = pd.Series(['2017-3-1','2017-3-2']) 
>>> pd.to_datetime(df_date) 
0 2017-03-01 
1 2017-03-02 
dtype: datetime64[ns] 
関連する問題