0

我正在经历熊猫的时期,找不到任何特别的用途,我认为它与日期没有什么不同,例如

  1. 要获取日期时间,我使用

    日期时间(2012,1,1)

  2. 为了获得一系列日期,我使用

    pd.date_range('1/1/2000', 周期=10)

我的问题是,为什么要使用 Period?根据定义

期间代表时间跨度,如天、月、季度或年。

p = pd.Period(2007, freq='A-DEC')

在这种情况下,Period 对象表示从 2007 年 1 月 1 日到 2007 年 12 月 31 日(含)的完整时间跨度。但是,如果我按照定义进行,我应该能够使用 Period 进行分组,因为我拥有一定范围的时间跨度,但是当我尝试分组时,我得到了错误

_period=pd.Period('2000',freq='M')
x = pd.date_range('1/1/2000', periods=14)
_result=pd.Series(range(len(x)),index=x)
_result.groupby(_period)

谁能帮我理解我什么时候应该使用 Period 以及我可以使用它解决什么和所有问题

4

1 回答 1

1

对于按期间汇总的按以下方式转换DatetimeIndexPeriodIndex此处DatetimeIndex.to_period

print (_result.index.to_period('m'))
PeriodIndex(['2000-01', '2000-01', '2000-01', '2000-01', '2000-01', '2000-01',
             '2000-01', '2000-01', '2000-01', '2000-01', '2000-01', '2000-01',
             '2000-01', '2000-01'],
            dtype='period[M]', freq='M')

print (_result.groupby(_result.index.to_period('m')).sum())
2000-01    91
Freq: M, dtype: int64
于 2020-09-18T11:15:12.747 回答