pandas.DataFrame.asfreq
- DataFrame.asfreq(freq, method=None, how=None, normalize=False, fill_value=None)[source]
-
Преобразование временного ряда к заданной частоте.
Возвращает исходные данные, приведенные к новому индексу с указанной частотой.
Если индекс этого DataFrame является
PeriodIndex, новый индекс является результатом преобразования исходного индекса с помощьюPeriodIndex.asfreq(следовательно, исходный индекс будет отображаться однозначно на новый индекс).В противном случае новый индекс будет эквивалентен
pd.date_range(start, end, freq=freq), гдеstartиendсоответственно являются первыми и последними записями в исходном индексе (см.pandas.date_range()). Значения, соответствующие любым временным отрезкам в новом индексе, которые отсутствовали в исходном индексе, будут нулевыми (NaN), если не указан метод заполнения таких неизвестных (см. параметрmethodниже).Метод
resample()более подходит, если требуется операция над каждой группой временных отрезков (например, агрегация) для представления данных с новой частотой.- Parameters
-
- freq:DateOffset или строка
-
Частота DateOffset или строка.
- method:{‘backfill’/’bfill’, ‘pad’/’ffill’}, по умолчанию None
-
Метод, используемый для заполнения пробелов в переиндексированном ряду (обратите внимание, что это не заполняет уже имеющиеся NaN):
‘pad’ / ‘ffill’: распространяет последнее действительное наблюдение вперёд до следующего действительного
‘backfill’ / ‘bfill’: использует следующее действительное наблюдение для заполнения.
- how:{‘start’, ‘end’}, по умолчанию end
-
Только для PeriodIndex (см. PeriodIndex.asfreq).
- normalize:bool, по умолчанию False
-
Устанавливать ли выходной индекс на полночь.
- fill_value:скаляр, необязательно
-
Значение, используемое для пропущенных значений, применяемое во время повышения частоты выборки (обратите внимание, что это не заполняет уже имеющиеся NaN).
- Returns
-
- DataFrame
-
Объект DataFrame, переиндексированный до указанной частоты.
См. также
reindex-
Приведение DataFrame к новому индексу с необязательной логикой заполнения.
Примечания
Дополнительную информацию о строках частоты можно получить по этой ссылке.
Примеры
Начните с создания ряда с 4 временными отметками с интервалом в одну минуту.
>>> index = pd.date_range('1/1/2000', periods=4, freq='T') >>> 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
© 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.DataFrame.asfreq.html