pandas.core.groupby.DataFrameGroupBy.resample
- DataFrameGroupBy.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 по умолчанию. В будущей версии pandas будет разрешено только значение False.
- **kwargs
-
Возможные аргументы — how, fill_method, limit, kind и on, а также другие аргументы TimeGrouper.
- Возвращает:
-
- pandas.api.typing.DatetimeIndexResamplerGroupby,
- pandas.api.typing.PeriodIndexResamplerGroupby, или
- pandas.api.typing.TimedeltaIndexResamplerGroupby
-
Возвращает новый объект группировки, тип которого зависит от данных, подлежащих ресемплированию.
См. также
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.DataFrameGroupBy.resample.html