Spec-Zone.ru › pandas 0.20

pandas.Series.asfreq

Series.asfreq(freq, method=None, how=None, normalize=False, fill_value=None) [source]

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

Можно указать метод заполнения для заполнения пропущенных значений.

Возвращает исходные данные, приведённые к новому индексу с заданной частотой. resample более подходит, если необходимо выполнить операцию, такую как обобщение, для представления данных с новой частотой.

Параметры:

freq : Объект 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).

Введено в версии 0.20.0.

Возвращает:

converted : тип вызываемого объекта

См. также

reindex

Примечания

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

Примеры

Начните с создания ряда с 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–2012, 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/0.20.3/generated/pandas.Series.asfreq.html

Spec-Zone.ru

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