开始使用免费开始使用

合并日期不同的时间序列

美国的股票市场和债券市场会在不同的日子休市。例如,债券市场在哥伦布日(大约 10 月 12 日)和退伍军人节(大约 11 月 11 日)休市,而股票市场在这些日子仍然开市。要找出股票市场开市而债券市场休市的日期,一种方法是把两个日期索引都转换为集合,然后做集合差集。

pandas 的 .join() 方法可以方便地在两个市场都开市的日期上合并股票和债券的 DataFrame。

FRED 下载的股票价格和美国 10 年期国债收益率已经预先加载到 stocksbonds 这两个 DataFrame 中。

本练习是课程的一部分

Python 中的时间序列分析

查看课程

练习说明

  • stocks.indexbonds.index 中的日期转换为集合。
  • 计算股票集合减去债券集合的差集,得到股票市场有数据而债券市场没有数据的日期。
  • 使用 .join() 方法将两个 DataFrame 合并为新的 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 = ___
编辑并运行代码