获取最大消费服务公司的股票代码
除了用条件表达式进行索引,您还可以使用 .loc[row_selector, column_selector] 按特定取值筛选。此外,您可以使用 .set_index() 将具有唯一值的列设为 DataFrame 的索引,并用 .idxmax() 返回最大值对应的索引。
在本练习中,您将应用这些选股方法,在三个交易所中找到市值最高的消费服务公司,并使用其股票代码绘制股价走势。DataReader、date、pandas(导入为 pd)和 matplotlib.pyplot(导入为 plt)都已导入,上一练习中的 listings DataFrame 也已提供。
本练习是课程的一部分
在 Python 中导入与管理金融数据
练习说明
- 使用
.set_index()将listings的'Stock Symbol'列设为索引,赋值为listings_ss。 - 使用
.loc[]筛选'Sector'等于'Consumer Services'的行,选择'Market Capitalization'列,并应用.idxmax(),将市值最大的消费服务公司的股票代码赋给ticker。 - 使用
date(),将start设为 2015 年 1 月 1 日。 - 使用
DataReader(),自start起从'yahoo'提取ticker的股票数据并存入data。 - 绘制
data中的'close'和'volume',并设置参数secondary_y='volume'与title=ticker。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Set the index of listings to Stock Symbol
listings_ss = listings.____(____)
# Get ticker of the largest Consumer Services company
ticker = listings_ss.____[____, ____].____()
# Set the start date
start = ____
# Import the stock data
data = ____
# Plot close and volume
data[['close', 'volume']].plot(secondary_y=____, title=____)
# Show the plot
plt.show()