为什么使用Periods重新采样会转换为pandas中的DatetimeIndex?

时间:2015-11-21 12:01:22

标签: python pandas

考虑这个例子:

import pandas as pd
import numpy as np
frame = pd.DataFrame(np.random.randn(24, 4),
                 index=pd.period_range('1-2000', '12-2001', freq='M'),
                 columns=['Colorado', 'Texas', 'New York', 'Ohio'])
frame.resample('Q', how='mean').index

这样可以正常工作,生成PeriodIndex

PeriodIndex(['2000Q1', '2000Q2', '2000Q3', '2000Q4', '2001Q1', '2001Q2',
             '2001Q3', '2001Q4'],
            dtype='int64', freq='Q-DEC')

但是,当我想使用多个基频重采样时,

frame.resample('2Q', how='mean').index

我得到DatetimeIndex

DatetimeIndex(['2000-03-31', '2000-09-30', '2001-03-31', '2001-09-30',
           '2002-03-31'],
          dtype='datetime64[ns]', freq='2Q-DEC')

为什么在这种情况下使用Periods重新采样会转换为pandas中的DatetimeIndex?这种行为是期待的吗?难道我做错了什么? 这很不方便因为我必须写

df = frame.resample('2Q', how='mean')
df.index = df.index.to_period('2Q')
df.index

获取

PeriodIndex(['2000Q1', '2000Q3', '2001Q1', '2001Q3', '2002Q1'], 
            dtype='int64', freq='2Q-DEC')

0 个答案:

没有答案