pandas.core.groupby.DataFrameGroupBy.resample
-
DataFrameGroupBy.resample(self, rule, *args, **kwargs)[source] -
Предоставляет ресемплирование при использовании TimeGrouper.
Учитывая группировщик, функция ресемплирует его в соответствии с строкой «строка» -> «частота».
Дополнительные сведения см. в документации по псевдонимам частоты.
Параметры: -
rule : str or 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Добавьте смещение в 20 секунд.
>>> df.groupby('a').resample('3T', loffset='20s').sum() a b a 0 2000-01-01 00:00:20 0 2 2000-01-01 00:03:20 0 1 5 2000-01-01 00:00:20 5 1 -
© 2008–2012, 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/0.25.0/reference/api/pandas.core.groupby.DataFrameGroupBy.resample.html