開始使用免費開始

合併日期不同的時間序列

美國的股票與債券市場在不同日子休市。例如,雖然債券市場在哥倫布日(約 10 月 12 日)與退伍軍人節(約 11 月 11 日)休市,但股票市場在這兩天照常開市。若要找出股票市場開市而債券市場休市的日期,一個方式是把兩者的日期索引轉成集合,然後做集合差集。

pandas 的 .join() 方法可方便地在兩個市場皆開市的日期上,合併股票與債券的 DataFrame。

FRED 下載的股票價格與 10 年期美國公債殖利率已預先載入為 stocksbonds 兩個 DataFrame。

本練習屬於課程

Python 中的時間序列分析

檢視課程

練習說明

  • stocks.indexbonds.index 的日期轉成集合(set)。
  • 以股票集合減去債券集合,找出只有股票市場有資料、而債券市場沒有的那些日期。
  • 使用 .join() 方法將兩個 DataFrame 合併成新的 stocks_and_bonds,語法為 df1.join(df2)
    • 若要取得日期的交集,請使用參數 how='inner'

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Import pandas
import pandas as pd

# Convert the stock index and bond index into sets
set_stock_dates = set(stocks.index)
set_bond_dates = set(___)

# Take the difference between the sets and print
print(set_stock_dates - ___)

# Merge stocks and bonds DataFrames using join()
stocks_and_bonds = ___
編輯並執行程式碼