pandas.DataFrame.asfreq
-
DataFrame.asfreq(freq, method=None, how=None, normalize=False, fill_value=None)[source] -
Преобразовать временной ряд в указанную частоту.
Допустимо указать метод заполнения для заполнения пропущенных значений.
Возвращает исходные данные, приведенные к новому индексу с указанной частотой.
resampleболее подходит, если необходимо выполнить операцию, такую как обобщение, для представления данных с новой частотой.Параметры: -
freq : DateOffset object, or string
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 : type of caller
См. также
Примечания
Чтобы узнать больше о строках частоты, пожалуйста, посетите данную ссылку.
Примеры
Начните с создания ряда с 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.23.4/generated/pandas.DataFrame.asfreq.html