Spec-Zone.ru › pandas 1

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

Spec-Zone.ru

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