如何使用 Pandas 的 series.last() 方法獲取時間序列資料的最後幾行?


pandas 的 series.last() 方法用於根據日期偏移量返回最後幾個週期。透過應用此 series.last() 方法,我們可以獲取時間序列物件的最後幾個週期。last 方法與 pandas 的 series.first() 方法非常相似,這裡我們可以獲取最後幾個週期而不是初始週期。

series.last() 方法有一個名為 offset 的引數,用於指定偏移資料的長度,以在給定限制內選擇行。

last() 方法將返回一個新的 Series 物件,其中包含結果行,如果輸入 Series 物件的索引沒有 DatetimeIndex,則會引發 TypeError。

示例 1

在以下示例中,使用 pandas DateTime 索引建立了一個名為“s”的序列,並將相應的月份日期名稱作為索引。

# importing packages
import pandas as pd

# creating dates
dates = pd.date_range('2021-02-01', periods=10, freq='20D')

#creating pandas Series with date index
s = pd.Series(dates.strftime('%B___%A'), index= dates)
print (s)

# get the rows by using last method
result = s.last('1M')
print('Result:')
print(result)

解釋

這裡,我們使用偏移量“1M”應用了 last() 方法,以獲取一個月內的最後幾行。

輸出

輸出如下所示:

2021-02-01    February___Monday
2021-02-21    February___Sunday
2021-03-13    March___Saturday
2021-04-02    April___Friday
2021-04-22    April___Thursday
2021-05-12    May___Wednesday
2021-06-01    June___Tuesday
2021-06-21    June___Monday
2021-07-11    July___Sunday
2021-07-31    July___Saturday
Freq: 20D, dtype: object
Result:
2021-07-11    July___Sunday
2021-07-31    July___Saturday
Freq: 20D, dtype: object

例項 2021-07-11 和 2021-07-31 是一個月期限內的最後一個月。我們可以在上面的輸出塊中看到初始序列物件以及最終序列物件。

示例 2

同樣地,我們建立了一個 pandas 序列物件,其 pandas DateTime 索引的頻率為 2 天 15 小時。

# importing packages
import pandas as pd

# creating dates
dates = pd.date_range('2021-03-10', periods=10, freq='2D15H')

#creating pandas Series with date index
s = pd.Series(dates.strftime('%A_%b_%d'), index= dates)
print (s)

# get the rows by using last method
result = s.last('1W')
print('Result:')
print(result)

解釋

這裡,我們透過將偏移量“1W”(一週)指定給 last 方法來檢索行。

輸出

輸出如下所示:

2021-03-10 00:00:00    Wednesday_Mar_10
2021-03-12 15:00:00    Friday_Mar_12
2021-03-15 06:00:00    Monday_Mar_15
2021-03-17 21:00:00    Wednesday_Mar_17
2021-03-20 12:00:00    Saturday_Mar_20
2021-03-23 03:00:00    Tuesday_Mar_23
2021-03-25 18:00:00    Thursday_Mar_25
2021-03-28 09:00:00    Sunday_Mar_28
2021-03-31 00:00:00    Wednesday_Mar_31
2021-04-02 15:00:00    Friday_Apr_02
Freq: 63H, dtype: object

Result:
2021-03-31 00:00:00    Wednesday_Mar_31
2021-04-02 15:00:00    Friday_Apr_02
Freq: 63H, dtype: object

last 方法已成功返回一個包含 2 個例項的序列物件。並且這兩行在索引中都包含在一週內。

更新於: 2022-03-07

438 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告