0

pandas.to_datetime関数で奇妙な動作が見られます。文字列を入力すると、正しい日付が表示されます。

In [100]: pandas.to_datetime(' 2012-10-19 16:32:35')
Out[100]: datetime.datetime(2012, 10, 19, 16, 32, 35)

ただし、上記の100行目の文字列と同じ形式の文字列を含む日時列を持つデータセットがあります。

In [101]: data_frame = pandas.read_csv('my_data.csv', header=None, names=['bid', 'datetime'])
In [102]: data_frame.ix[0]

Out[102]:
bid                                    428916
datetime                  2012-10-19 16:32:35  # NOTE: THIS IS A STRING
Name: 0

日時列をタイムスタンプに設定しようとすると、非常に奇妙な日時オブジェクトが表示されます。

In [102]: data_frame['datetime'] = pandas.to_datetime(data_frame['datetime'])
In [103]: data_frame.ix[0]
Out [103]: 
bid                                    428916
datetime                  1970-01-16 80:32:35  # SEE THIS
Name: 0

したがって、to_datetimeが機能する方法を誤解している(非常に可能)か、これが予期しない動作である(可能性が低い)かのどちらかです。どっち?

4

1 に答える 1

0

問題は、numpy datetime64[ns] オブジェクトの印刷にあると思われます。これらのおかしな日付値を取得して pandas Timestamp オブジェクトに戻すと、正常に見えます。

pandas.Timestamp(data_frame.ix[0]['datetime'])

通常の外観の結果が得られるはずです。

于 2012-11-02T21:48:04.483 に答える