pandas.Series.asfreq#

Series.asfreq(freq, метод=None, how=None, нормализовать=False, fill_value=None)[источник]#

Преобразовать временной ряд в указанную частоту.

Возвращает исходные данные, приведенные к новому индексу с указанной частотой.

Если индекс этого Series/DataFrame является PeriodIndex, новый индекс является результатом преобразования исходного индекса с помощью PeriodIndex.asfreq (так что исходный индекс будет соответствовать новому индексу один к одному).

В противном случае новый индекс будет эквивалентен pd.date_range(start, end, freq=freq) где start и end являются, соответственно, первой и последней записями в исходном индексе (см. pandas.date_range()). Значения, соответствующие любым временным шагам в новом индексе, которые отсутствовали в исходном индексе, будут нулевыми (NaN), если не предоставлен метод для заполнения таких неизвестных (см. method параметр ниже).

The resample() метод более подходит, если операция над каждой группой временных шагов (например, агрегация) необходима для представления данных на новой частоте.

Параметры:
freqDateOffset или строка

Частота DateOffset или строка.

метод{'backfill'/'bfill', 'pad'/'ffill'}, по умолчанию None

Метод для заполнения пропусков в переиндексированных Series (обратите внимание, что это не заполняет NaN, которые уже присутствовали):

  • ‘pad’ / ‘ffill’: распространить последнее допустимое наблюдение вперед до следующего допустимого

  • 'backfill' / 'bfill': использовать СЛЕДУЮЩЕЕ допустимое наблюдение для заполнения.

how{‘start’, ‘end’}, по умолчанию end

Только для PeriodIndex (см. PeriodIndex.asfreq).

нормализоватьbool, по умолчанию False

Сбрасывать ли выходной индекс на полночь.

fill_valueскаляр, опционально

Значение для использования в качестве пропущенных значений, применяемое при повышающей дискретизации (обратите внимание, это не заполняет NaN, которые уже присутствовали).

Возвращает:
Series/DataFrame

Объект Series/DataFrame, переиндексированный с указанной частотой.

Смотрите также

reindex

Привести DataFrame к новому индексу с опциональной логикой заполнения.

Примечания

Чтобы узнать больше о строках частоты, пожалуйста, смотрите эта ссылка.

Примеры

Начните с создания серии с 4 временными метками по одной минуте.

>>> index = pd.date_range('1/1/2000', periods=4, freq='min')
>>> series = pd.Series([0.0, None, 2.0, 3.0], index=index)
>>> df = pd.DataFrame({'s': series})
>>> df
                       s
2000-01-01 00:00:00    0.0
2000-01-01 00:01:00    NaN
2000-01-01 00:02:00    2.0
2000-01-01 00:03:00    3.0

Повысить частоту выборки ряда до 30-секундных интервалов.

>>> df.asfreq(freq='30s')
                       s
2000-01-01 00:00:00    0.0
2000-01-01 00:00:30    NaN
2000-01-01 00:01:00    NaN
2000-01-01 00:01:30    NaN
2000-01-01 00:02:00    2.0
2000-01-01 00:02:30    NaN
2000-01-01 00:03:00    3.0

Повторная выборка, предоставляя fill value.

>>> df.asfreq(freq='30s', fill_value=9.0)
                       s
2000-01-01 00:00:00    0.0
2000-01-01 00:00:30    9.0
2000-01-01 00:01:00    NaN
2000-01-01 00:01:30    9.0
2000-01-01 00:02:00    2.0
2000-01-01 00:02:30    9.0
2000-01-01 00:03:00    3.0

Повторная выборка, предоставляя method.

>>> df.asfreq(freq='30s', method='bfill')
                       s
2000-01-01 00:00:00    0.0
2000-01-01 00:00:30    NaN
2000-01-01 00:01:00    NaN
2000-01-01 00:01:30    2.0
2000-01-01 00:02:00    2.0
2000-01-01 00:02:30    3.0
2000-01-01 00:03:00    3.0