Spec-Zone.ru › pandas 1

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

Spec-Zone.ru

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