使用 .melt() 比較股票與公債表現
大家普遍知道,公債價格與股票價格通常呈反向關係。在這個最後的練習中,你會綜合運用本章多個主題來驗證這件事。你拿到的是美國 10 年期公債價格的百分比變動表。它是寬格式,每一年各有一個獨立欄位。你需要用 .melt() 方法來重塑這個資料表。
此外,你會用 .query() 方法來篩掉不需要的資料。接著把這個表與道瓊工業指數價格的百分比變動表做合併。最後,你會將資料繪圖。
表格 ten_yr 與 dji 已為你載入。
本練習屬於課程
使用 pandas 進行資料表連接
練習說明
- 對
ten_yr使用.melt(),將除metric欄之外的欄位都轉為長格式,並設定var_name='date'、value_name='close'。將結果存為bond_perc。 - 使用
.query()方法,只選出metric等於"close"的列,存為bond_perc_close。 - 使用
merge_ordered(),以date作為鍵,將dji(左表)與bond_perc_close以 inner 連接合併,並設定suffixes為('_dow', '_bond')。將結果存為dow_bond。 - 使用
dow_bond,只繪出道瓊與公債的數值。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Use melt on ten_yr, unpivot everything besides the metric column
bond_perc = ____
# Use query on bond_perc to select only the rows where metric=close
bond_perc_close = ____
# Merge (ordered) dji and bond_perc_close on date with an inner join
dow_bond = ____
# Plot only the close_dow and close_bond columns
dow_bond.plot(____, x='date', rot=90)
plt.show()