DataFrame.resample()
Метод resample() группирует данные временного ряда по новой частоте: down-sampling (укрупнение, например, секунды → минуты) или up-sampling (детализация). Требует, чтобы индекс был DatetimeIndex / TimedeltaIndex / PeriodIndex.
Сигнатура
DataFrame.resample(rule, axis=0, closed=None, label=None,
convention="start", kind=None, on=None,
level=None, origin="start_day", offset=None)
Параметры
rule— частота:"S"/"s"(секунда),"min"(минута),"H"/"h"(час),"D"(день),"W","ME"(месяц).on— столбец с датами, если он не индекс.label— какая граница идёт в метку:"left"или"right".
Возвращаемое значение
Объект Resampler — нужен метод-агрегатор (mean, sum, first, ohlc).
Примеры
Пример 1. Среднее по минутам
import pandas as pd
idx = pd.date_range("2026-01-01", periods=6, freq="30s")
s = pd.Series([22.0, 22.2, 22.4, 23.0, 23.2, 23.4], index=idx)
print(s.resample("1min").mean())
2026-01-01 00:00:00 22.1
2026-01-01 00:01:00 22.7
2026-01-01 00:02:00 23.3
Freq: 1min, dtype: float64
Пример 2. Сумма по дню
import pandas as pd
idx = pd.date_range("2026-01-01", periods=4, freq="6h")
s = pd.Series([5, 7, 3, 4], index=idx)
print(s.resample("D").sum())
2026-01-01 19
Freq: D, dtype: int64
Пример 3. Up-sampling с ffill
import pandas as pd
idx = pd.date_range("2026-01-01", periods=2, freq="2min")
s = pd.Series([10, 20], index=idx)
print(s.resample("1min").ffill())
2026-01-01 00:00:00 10
2026-01-01 00:01:00 10
2026-01-01 00:02:00 20
Freq: 1min, dtype: int64
Пример 4. OHLC по 5-минутным барам
import pandas as pd
idx = pd.date_range("2026-01-01", periods=10, freq="1min")
s = pd.Series([1, 3, 2, 5, 4, 6, 8, 7, 9, 10], index=idx)
print(s.resample("5min").ohlc())
open high low close
2026-01-01 00:00:00 1 5 1 4
2026-01-01 00:05:00 6 10 6 10
Пример 5. По столбцу через on=
import pandas as pd
df = pd.DataFrame({
"ts": pd.date_range("2026-01-01", periods=4, freq="30s"),
"temp": [22, 22, 23, 23],
})
print(df.resample("1min", on="ts").mean())
temp
ts
2026-01-01 00:00:00 22.0
2026-01-01 00:01:00 23.0
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.