當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.DataFrame.asfreq用法及代碼示例


用法:

DataFrame.asfreq(freq, method=None, how=None, normalize=False, fill_value=None)

將時間序列轉換為指定頻率。

以指定的頻率返回符合新索引的原始數據。

如果此 DataFrame 的索引是 PeriodIndex ,則新索引是用 PeriodIndex.asfreq 轉換原始索引的結果(因此原始索引會將 one-to-one 映射到新索引)。

否則,新索引將等效於 pd.date_range(start, end, freq=freq) 其中 startend 分別是原始索引中的第一個和最後一個條目(請參閱 pandas.date_range() )。與新索引中不存在於原始索引中的任何時間步相對應的值將為空(NaN),除非提供了填充此類未知數的方法(請參閱下麵的 method 參數)。

如果需要對每組時間步長(例如聚合)進行操作以以新頻率表示數據,則 resample() 方法更合適。

參數

freqDateOffset 或 str

頻率 DateOffset 或字符串。

method{‘backfill’/'bfill', ‘pad’/'ffill'},默認無

用於填充重新索引係列中的孔的方法(注意這不會填充已經存在的 NaN):

  • ‘pad’ /‘ffill’:將最後一個有效觀察值向前傳播到下一個有效值

  • ‘backfill’ /‘bfill’:使用 NEXT 有效觀測值填充。

how{‘start’, ‘end’},默認結束

僅適用於 PeriodIndex(參見 PeriodIndex.asfreq)。

normalize布爾值,默認為 False

是否將輸出索引重置為午夜。

fill_value標量,可選

用於缺失值的值,在上采樣期間應用(注意這不會填充已經存在的 NaN)。

返回

DataFrame

重新索引到指定頻率的 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 秒的 bin。

>>> 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

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.asfreq。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。