パンダに関数を適用する際に何か奇妙なことが起こっています。シリーズ
In [508]: id = lambda x : x
In [509]: tt = lambda x : type(x)
In [510]: timeSeries
Out[510]:
0 1900-01-01 20:11:49.075690
1 1900-01-01 20:11:49.082546
2 1900-01-01 20:11:52.535287
3 1900-01-01 20:11:52.535372
4 1900-01-01 20:11:52.535528
Name: timeSeries
In [511]: timeSeries.map(id)
Out[511]:
0 1969-12-06 172:11:49.075690
1 1969-12-06 172:11:49.082546
2 1969-12-06 172:11:52.535287
3 1969-12-06 172:11:52.535372
4 1969-12-06 172:11:52.535528
Name: timeSeries
ここでは、id関数を適用してタイムスタンプが変更されています。新しい時刻の時刻が正しくありません。詳細:タイプも変更されます
In [513]: type(timeSeries[0])
Out[513]: pandas.lib.Timestamp
In [512]: timeSeries.map(tt)
Out[512]:
0 <type 'numpy.datetime64'>
1 <type 'numpy.datetime64'>
2 <type 'numpy.datetime64'>
3 <type 'numpy.datetime64'>
4 <type 'numpy.datetime64'>
Name: timeSeries
マップするタイムスタンプが保持されている限り、タイプの変更は問題ないと思います
In [515]: np.datetime64(timeSeries[0])
Out[515]: 1900-01-01 20:11:49.075690
誰かがここで何が起こっているのか説明してもらえますか?pandas.lib.Timestampタイプを期待している、カスタマイズされた関数を使用してマップを作成したいと思います。または、np.datetime64を有効な時間に変換する方法がある場合。
編集:以下の作業により、np.datetime64をタイムスタンプにキャストし直します。それでも上記は奇妙です。
In [528]: pd.lib.Timestamp(time2[0])
Out[528]: <Timestamp: 1900-01-01 20:11:49.075690>
In [529]: time2[0]
Out[529]: 1969-12-06 172:11:49.075690
私の推測では、np.datetime64とpandas.lib.Timestampの内部フォーマットの違いについてですか?