如何使用 series.asfreq() 方法轉換時間序列?


pandas.Series.asfreq() 方法用於將時間序列轉換為指定頻率。透過使用此方法的引數,我們還可以填充缺失(空)值。

它將返回一個具有重新索引頻率的序列物件,該頻率透過 asfreq() 方法指定。asfreq() 方法的引數為 freq、method=None、how=None、normalize=False 和 fill_value=None。除 freq 外,其餘所有引數都具有預設值。

讓我們使用 pandas date_range 模組建立一個時間序列物件並應用 asfreq() 方法。

示例 1

import pandas as pd

# create the index
index = pd.date_range('2021-07-01', periods=10, freq='H')

#creating pandas Series with date index
series = pd.Series([1,3,None,5,7,9,None,2,3,4], index=index)

print(series)

# converted time series
print("Converted time series",series.asfreq(freq='2H'))

解釋

最初,我們使用 python import 關鍵字將 pandas 模組匯入到我們的工作區中,然後我們使用 date range 函式建立了一個帶有時間序列資料索引變數,之後,我們建立了一個帶有時間序列的 pandas 序列物件。

輸出

2021-07-01 00:00:00 1.0
2021-07-01 01:00:00 3.0
2021-07-01 02:00:00 NaN
2021-07-01 03:00:00 5.0
2021-07-01 04:00:00 7.0
2021-07-01 05:00:00 9.0
2021-07-01 06:00:00 NaN
2021-07-01 07:00:00 2.0
2021-07-01 08:00:00 3.0
2021-07-01 09:00:00 4.0
Freq: H, dtype: float64

Converted time series
2021-07-01 00:00:00 1.0
2021-07-01 02:00:00 NaN
2021-07-01 04:00:00 7.0
2021-07-01 06:00:00 NaN
2021-07-01 08:00:00 3.0
Freq: 2H, dtype: float64

初始時間序列由 10 個週期組成,頻率為小時。這顯示在上面輸出塊的第一部分中。

轉換後的時間序列物件也顯示在上面的輸出塊中,其中頻率轉換為 2 小時。結果序列中只有 5 個元素。

示例 2

import pandas as pd

# create the index
index = pd.date_range('2021-06-30', periods=10, freq='M')

#creating pandas Series with date index
series = pd.Series(index.month_name(), index=index)

print(series)

# converted time series
print("Converted time series",series.asfreq(freq='Q'))

解釋

在上面的示例中,我們使用 Date_range 方法建立了一個 pandas 序列,該序列具有 10 個月的頻率週期。之後,我們將序列物件的頻率更改為季度。

輸出

2021-06-30      June
2021-07-31      July
2021-08-31    August
2021-09-30 September
2021-10-31   October
2021-11-30  November
2021-12-31  December
2022-01-31   January
2022-02-28  February
2022-03-31     March
Freq: M, dtype: object

Converted time series
2021-06-30      June
2021-09-30 September
2021-12-31  December
2022-03-31     March
Freq: Q-DEC, dtype: object

在上面的輸出塊中,我們可以看到初始時間序列物件和轉換後的時間序列物件。透過為 asfreq 方法的“freq”引數提供“Q”值,轉換後的時間序列更新為季度頻率。

更新於: 2022年3月9日

652 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.