Метод asfreq
Метод asfreq применяется к объекту Resampler
и возвращает передискретизированный ряд с новой частотой.
Первым параметром передаётся целевая частота (например, 'D' для дней).
Вторым параметром можно задать метод заполнения пропущенных значений:
'ffill' для заполнения предыдущим значением,
'bfill' для заполнения следующим значением.
Если метод не указан, пропуски заполняются значением NaN.
Синтаксис
resampler.asfreq(freq, method=None)
Пример
Создадим временной ряд с ежедневными данными и передискретизируем его к еженедельной частоте:
import pandas as pd
dates = pd.date_range('2025-01-01', periods=5, freq='D')
ser = pd.Series([10, 20, 30, 40, 50], index=dates)
res = ser.resample('W')
print(res.asfreq())
Результат выполнения кода:
2025-01-05 50.0
Freq: W-SUN, dtype: float64
Пример
Передискретизируем данные с почасовой частотой и заполним пропуски методом ffill:
import pandas as pd
dates = pd.date_range('2025-01-01 00:00', periods=3, freq='H')
ser = pd.Series([1, 2, 3], index=dates)
res = ser.resample('2H')
print(res.asfreq(method='ffill'))
Результат выполнения кода:
2025-01-01 00:00:00 1.0
2025-01-01 02:00:00 3.0
Freq: 2H, dtype: float64
Пример
Используем метод bfill для заполнения пропусков следующим значением:
import pandas as pd
dates = pd.date_range('2025-01-01 00:00', periods=3, freq='H')
ser = pd.Series([5, 6, 7], index=dates)
res = ser.resample('2H')
print(res.asfreq(method='bfill'))
Результат выполнения кода:
2025-01-01 00:00:00 5.0
2025-01-01 02:00:00 7.0
Freq: 2H, dtype: float64
Смотрите также
-
метод
ffill,
который заполняет пропуски предыдущим значением -
метод
bfill,
который заполняет пропуски следующим значением -
метод
interpolate,
который интерполирует пропущенные значения -
метод
mean,
который вычисляет среднее значение для каждого интервала