Spec-Zone.ru › pandas 2

pandas.core.groupby.SeriesGroupBy.resample

SeriesGroupBy.resample(rule, *args, include_groups=True, **kwargs)[source]

Предоставление повторной выборки при использовании TimeGrouper.

При заданном группировщике функция пересчитывает его в соответствии со строкой «строка» -> «частота».

Для получения дополнительной информации см. документацию по псевдонимам частоты.

Параметры:
rule:str или DateOffset

Строка или объект смещения, представляющий целевую конвертацию группировщика.

*args

Возможные аргументы — how, fill_method, limit, kind и on, а также другие аргументы TimeGrouper.

include_groups:bool, по умолчанию True

Если True, будет попытка включить группировки в операцию в случае, если они являются столбцами DataFrame. Если это вызывает TypeError, результат будет вычислен без учета группировок. Если False, группировки будут исключены при применении func.

В версии 2.2.0.

Устарело начиная с версии 2.2.0: Установка include_groups в True устарела. В будущей версии pandas будет разрешен только параметр False.

**kwargs

Возможные аргументы — how, fill_method, limit, kind и on, а также другие аргументы TimeGrouper.

Возвращает:
pandas.api.typing.DatetimeIndexResamplerGroupby,
pandas.api.typing.PeriodIndexResamplerGroupby или
pandas.api.typing.TimedeltaIndexResamplerGroupby

Возвращает новый объект groupby, тип которого зависит от данных, подвергаемых повторной выборке.

См. также

Grouper

Укажите частоту повторной выборки при группировке по ключу.

DatetimeIndex.resample

Преобразование частоты и повторная выборка временных рядов.

Примеры

>>> idx = pd.date_range('1/1/2000', periods=4, freq='min')
>>> df = pd.DataFrame(data=4 * [range(2)],
...                   index=idx,
...                   columns=['a', 'b'])
>>> df.iloc[2, 0] = 5
>>> df
                    a  b
2000-01-01 00:00:00  0  1
2000-01-01 00:01:00  0  1
2000-01-01 00:02:00  5  1
2000-01-01 00:03:00  0  1

Сводка DataFrame в 3-минутные интервалы и сумма значений временных меток, попадающих в интервал.

>>> df.groupby('a').resample('3min', include_groups=False).sum()
                         b
a
0   2000-01-01 00:00:00  2
    2000-01-01 00:03:00  1
5   2000-01-01 00:00:00  1

Интерполяция ряда в 30-секундные интервалы.

>>> df.groupby('a').resample('30s', include_groups=False).sum()
                    b
a
0   2000-01-01 00:00:00  1
    2000-01-01 00:00:30  0
    2000-01-01 00:01:00  1
    2000-01-01 00:01:30  0
    2000-01-01 00:02:00  0
    2000-01-01 00:02:30  0
    2000-01-01 00:03:00  1
5   2000-01-01 00:02:00  1

Повторная выборка по месяцу. Значения присваиваются месяцу периода.

>>> df.groupby('a').resample('ME', include_groups=False).sum()
            b
a
0   2000-01-31  3
5   2000-01-31  1

Повторная выборка ряда в 3-минутные интервалы, как выше, но закрытие правой стороны интервала бина.

>>> (
...     df.groupby('a')
...     .resample('3min', closed='right', include_groups=False)
...     .sum()
... )
                         b
a
0   1999-12-31 23:57:00  1
    2000-01-01 00:00:00  2
5   2000-01-01 00:00:00  1

Повторная выборка ряда в 3-минутные интервалы и закрытие правой стороны интервала бина, но метки каждого бина используются с правой границей вместо левой.

>>> (
...     df.groupby('a')
...     .resample('3min', closed='right', label='right', include_groups=False)
...     .sum()
... )
                         b
a
0   2000-01-01 00:00:00  1
    2000-01-01 00:03:00  2
5   2000-01-01 00:03:00  1

© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.core.groupby.SeriesGroupBy.resample.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API