pandas.core.groupby.DataFrameGroupBy.resample
- DataFrameGroupBy.resample(rule, *args, **kwargs)[source]
-
Обеспечивает ресемплирование при использовании TimeGrouper.
При заданном группировщике функция ресемплирует его в соответствии со строковым «string» -> «частотой».
См. документацию по псевдонимам частот для получения более подробной информации.
- Параметры
-
- rule:str или DateOffset
-
Строка смещения или объект, представляющий целевое преобразование группировщика.
- *args, **kwargs
-
Возможными аргументами являются how, fill_method, limit, kind и on, а также другие аргументы TimeGrouper.
- Возвращает
-
- Grouper
-
Возвращает новый группировщик с добавленным ресемплером.
См. также
Grouper-
Укажите частоту ресемплирования при группировке по ключу.
DatetimeIndex.resample-
Преобразование частоты и ресемплирование временных рядов.
Примеры
>>> idx = pd.date_range('1/1/2000', periods=4, freq='T') >>> 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('3T').sum() a b a 0 2000-01-01 00:00:00 0 2 2000-01-01 00:03:00 0 1 5 2000-01-01 00:00:00 5 1Увеличьте частоту выборки ряда до 30-секундных интервалов.
>>> df.groupby('a').resample('30S').sum() a b a 0 2000-01-01 00:00:00 0 1 2000-01-01 00:00:30 0 0 2000-01-01 00:01:00 0 1 2000-01-01 00:01:30 0 0 2000-01-01 00:02:00 0 0 2000-01-01 00:02:30 0 0 2000-01-01 00:03:00 0 1 5 2000-01-01 00:02:00 5 1Ресемплирование по месяцам. Значения присваиваются месяцу периода.
>>> df.groupby('a').resample('M').sum() a b a 0 2000-01-31 0 3 5 2000-01-31 5 1Сгруппируйте ряд по 3-минутным интервалам, как выше, но закройте правую границу интервала.
>>> df.groupby('a').resample('3T', closed='right').sum() a b a 0 1999-12-31 23:57:00 0 1 2000-01-01 00:00:00 0 2 5 2000-01-01 00:00:00 5 1Сгруппируйте ряд по 3-минутным интервалам и закройте правую границу интервала, но пометьте каждый интервал правой границей вместо левой.
>>> df.groupby('a').resample('3T', closed='right', label='right').sum() a b a 0 2000-01-01 00:00:00 0 1 2000-01-01 00:03:00 0 2 5 2000-01-01 00:03:00 5 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/1.5.0/reference/api/pandas.core.groupby.DataFrameGroupBy.resample.html