按行业分组的市值中位数
"汇总数据"(Aggregate data)是由多次测量合并而成的数据。正如您在视频中所学,.groupby() 函数有助于按特定类别汇总数据。
您之前已经看到,市值数据中存在较大的离群值。为了更加稳健地概括各行业公司市值,您将计算按行业分组的市值中位数。pandas 已以 pd 导入,matplotlib.pyplot 已以 plt 导入,纽约证交所(NYSE)的上市公司数据已作为 DataFrame nyse 提供在您的工作区中。
本练习是课程的一部分
在 Python 中导入与管理金融数据
练习说明
- 使用
.info()查看nyse。 - 结合广播与
.div(),创建新列market_cap_m,其包含以百万美元计的市值。 - 使用
.drop()删除'Market Capitalization'列。 - 对
nyse应用.groupby()方法,以'Sector'作为分组列。 - 计算
market_cap_m列的中位数,保存为median_mcap_by_sector。 - 将结果绘制为水平条形图,标题为
'NYSE - Median Market Capitalization'。使用plt.xlabel()并传入'USD mn'添加坐标轴标签。 - 显示结果。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Inspect NYSE data
nyse.____()
# Create market_cap_m
nyse['market_cap_m'] = ____[____].div(1e6)
# Drop market cap column
nyse = ____.____('Market Capitalization', axis=1)
# Group nyse by sector
mcap_by_sector = ____.____(____)
# Calculate median
median_mcap_by_sector = mcap_by_sector.____.____()
# Plot and show as horizontal bar chart
median_mcap_by_sector.plot(____=____, title='NYSE - Median Market Capitalization')
# Add the label
plt.____('USD mn')
# Show the plot
plt.show()