2

pandas 0.9を使い始めたばかりで、pandasタイムスタンプで予期しない動作が見られます。日時を使用してインデックスを設定した後、timeindexが他のものに正しく変換されていないようです。私はおそらくそれを正しく使用していないので、私をまっすぐに設定してください:

from pandas import *
import datetime

version.version
# 0.9.1

np.version.version
# 1.6.2

ndx = ['a','b','b']
date = [datetime.datetime(2013, 2, 16, 15, 0), datetime.datetime(2013, 2, 16, 11, 0),datetime.datetime(2013, 2, 16, 2, 0)]
vals = [1,2,3,]

df = DataFrame({'ndx':ndx,'date':date,'vals':vals})
df2=df.groupby(['ndx','date']).sum()

df2.index.get_level_values('date')
# array([1970-01-16 143:00:00, 1970-01-16 130:00:00, 1970-01-16 139:00:00], dtype=datetime64[ns])

df.set_index([ndx,date]).reset_index()['level_1'].unique() # fetch from index
# array([1970-01-16 143:00:00, 1970-01-16 139:00:00, 1970-01-16 130:00:00], dtype=datetime64[ns])

df.set_index([ndx,date]).reset_index()['date'].unique() # fetch from column
# array([2013-02-16 15:00:00, 2013-02-16 11:00:00, 2013-02-16 02:00:00], dtype=object)

これらの操作の結果として、1970年には何も期待できませんでした。考え?

4

1 に答える 1

4

これは厄介なバグです

以下を参照してください

http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#numpy-datetime64-dtype-and-1-6-dependency

https://github.com/pydata/pandas/issues/2872

于 2013-02-16T21:07:09.197 に答える