用法:
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)
其中start
和end
分別是原始索引中的第一個和最後一個條目(請參閱pandas.date_range()
)。與新索引中不存在於原始索引中的任何時間步相對應的值將為空(NaN
),除非提供了填充此類未知數的方法(請參閱下麵的method
參數)。如果需要對每組時間步長(例如聚合)進行操作以以新頻率表示數據,則
resample()
方法更合適。- freq:DateOffset 或 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
相關用法
- Python pandas.DataFrame.assign用法及代碼示例
- Python pandas.DataFrame.asof用法及代碼示例
- Python pandas.DataFrame.astype用法及代碼示例
- Python pandas.DataFrame.apply用法及代碼示例
- Python pandas.DataFrame.add_prefix用法及代碼示例
- Python pandas.DataFrame.add用法及代碼示例
- Python pandas.DataFrame.all用法及代碼示例
- Python pandas.DataFrame.at_time用法及代碼示例
- Python pandas.DataFrame.append用法及代碼示例
- Python pandas.DataFrame.at用法及代碼示例
- Python pandas.DataFrame.agg用法及代碼示例
- Python pandas.DataFrame.add_suffix用法及代碼示例
- Python pandas.DataFrame.applymap用法及代碼示例
- Python pandas.DataFrame.aggregate用法及代碼示例
- Python pandas.DataFrame.axes用法及代碼示例
- Python pandas.DataFrame.abs用法及代碼示例
- Python pandas.DataFrame.any用法及代碼示例
- Python pandas.DataFrame.align用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.asfreq。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。