读取 Excel 文件“house_unit_price.xlsx”,利用列 MSZoning 分组,计算unitPrice 的均值,并按照 unitPrice 降序排列后以柱状图可视化显示该均值。 要求以列 MSZoning 为 X 轴,轴刻度分别为“C”、“FV”、“NA”、“RH” 、“RL” 、“RM”,包括图例、图标题,填充颜色为蓝色,并保存为“house_unit_price.png”,要求分辨率不低于 300dpi。
时间: 2024-02-22 09:54:54 浏览: 102
好的,以下是完整的 Python 代码实现:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取 Excel 文件
df = pd.read_excel('house_unit_price.xlsx')
# 按 MSZoning 列分组,计算 unitPrice 均值并排序
grouped = df.groupby('MSZoning')['unitPrice'].mean().sort_values(ascending=False)
# 设置柱状图参数
fig, ax = plt.subplots(figsize=(8,6))
ax.bar(grouped.index, grouped.values, color='blue')
# 设置图表标题、轴标签和刻度
ax.set_title('Average Unit Price by MSZoning', fontsize=16)
ax.set_xlabel('MSZoning', fontsize=14)
ax.set_ylabel('Average Unit Price', fontsize=14)
ax.set_xticklabels(['C', 'FV', 'NA', 'RH', 'RL', 'RM'], fontsize=12)
# 保存图表
plt.savefig('house_unit_price.png', dpi=300)
# 显示图表
plt.show()
```
在运行该代码之前需要确保安装了 pandas 和 matplotlib 两个库。这段代码会生成一张名为“house_unit_price.png”的图表,保存在当前工作目录下。
阅读全文