开始使用免费开始使用

获取规模最大 3 家金融公司的数据

pd.MultiIndex() 对象每行包含多个标识符。这样就可以基于多家公司的条件一次性获取数据。

现在请将这一技能用于获取金融板块中市值最高公司的股价数据。DataReaderdatepandas(导入为 pd)以及 matplotlib.pyplot(导入为 plt)均已导入,上一练习中的 listings DataFrame 也已提供。

本练习是课程的一部分

在 Python 中导入与管理金融数据

查看课程

练习说明

  • listings 的索引设为 'Stock Symbol',赋值给 listings_ss
  • 使用 .loc[] 过滤公司行业为 'Finance' 的行,并提取 'Market Capitalization' 列。调用 .nlargest(),按市值选出最大的 3 家公司并赋值给 top_3_companies
  • 将结果的索引转换为列表并赋值给 top_3_tickers
  • 使用 date()start 设为 2015年1月1日。
  • 使用 date()end 设为 2020年4月1日。
  • 使用 DataReader()'iex' 获取 top_3_tickersstartend 之间的股票数据,并赋值给 result
  • 调用 .stack() 方法,将股票代码移入索引,把 DataFrame 转换为长表格式。
  • data 中选择 'close',再调用 .unstack(),并使用 .info() 查看现在为宽表格式的结果 DataFrame。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Set Stock Symbol as the index
listings_ss = listings.____

# Get ticker of 3 largest finance companies
top_3_companies = listings_ss.loc[____].____(n=____)

# Convert index to list
top_3_tickers = top_3_companies.____.____()

# Set start date
start = ____

# Set end date
end = ____

# Import stock data
result = ____

# Apply stack method 
data = ____

# Unstack and inspect result
data['close'].____().____()
编辑并运行代码