Cumulative sum 與 .diff()
在影片中,你學到可以使用 expanding window 來進行累積運算。
事實上,累積加總(cumulative sum)與你在第 1 章遇到的 .diff() 方法剛好有相反的效果。
為了說明這點,我們來使用 Google 股價的時間序列,先建立相鄰價格的差值,接著用累積加總把原始序列重建回來。
本練習屬於課程
Manipulating Time Series Data in Python
練習說明
我們已經將 pandas 載入為 pd,並將 matplotlib.pyplot 載入為 plt。也已把 Google 股價載入到變數 data。
- 對
data套用.diff(),再移除遺漏值,並將結果指定給differences。 - 使用
.first('D')從data取出第一個價格,指定給start_price。 - 使用
.append()合併start_price與differences,再套用.cumsum(),並指定給cumulative_sum。 - 使用
.equals()比較data與cumulative_sum,並印出結果。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Calculate differences
differences = ____
# Select start price
start_price = ____
# Calculate cumulative sum
cumulative_sum = ____
# Validate cumulative sum equals data
print(____)