Spec-Zone.ru › pandas 0.25

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

Spec-Zone.ru

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