一、设计题目
长沙景区数据分析项目
二、设计目的
通过本项目让学生独立完成数据统计、数据可视化、数据分析的过程,并提高学生解决问题的能力。
三、设计要求
读取'长沙景区信息.xlsx'文件(读取Excel文件的方法为pandas.read_excel(),详细介绍请见第四小节知识补充小节),按照文件中'景区区县'分组统计,计算各区域景区数量,使用matplotlib.pyplot模块绘制柱状图;按照文件中'景区区县'分组统计,计算各区域 '景区价格'均值并升序排序,使用matplotlib.pyplot模块绘制折线图,删除特殊格式景区区县, x轴刻度标签选取景区区县如图所示。(图表颜色不限制)。
代码实现:
python
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei'] # 使用黑体
plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
# 读取Excel文件
file_path = '长沙景区信息.xlsx'
df = pd.read_excel(file_path)
# 按照'景区区县'分组统计,计算各区域景区数量
grouped_count = df['景区区县'].value_counts().sort_index()
# 绘制柱状图
plt.figure(figsize=(10, 6))
grouped_count.plot(kind='bar')
plt.title('各区域景区数量')
plt.xlabel('景区区县')
plt.ylabel('景区数量')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
# 按照'景区区县'分组统计,计算各区域 '景区价格'均值并升序排序
grouped_price = df.groupby('景区区县')['景区价格'].mean().sort_values()
# 绘制折线图
plt.figure(figsize=(10, 6))
grouped_price.plot(kind='line', marker='o')
plt.title('各区域景区价格均值')
plt.xlabel('景区区县')
plt.ylabel('景区价格均值')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
# 删除特殊格式景区区县
# 假设特殊格式的景区区县包含某些特定字符,例如 '特殊',可以根据实际情况修改
df = df[~df['景区区县'].str.contains('特殊')]
# 重新计算并绘制图表
grouped_count_cleaned = df['景区区县'].value_counts().sort_index()
grouped_price_cleaned = df.groupby('景区区县')['景区价格'].mean().sort_values()
# 绘制柱状图
plt.figure(figsize=(10, 6))
grouped_count_cleaned.plot(kind='bar')
plt.title('各区域景区数量(删除特殊格式后)')
plt.xlabel('景区区县')
plt.ylabel('景区数量')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
# 绘制折线图
plt.figure(figsize=(10, 6))
grouped_price_cleaned.plot(kind='line', marker='o')
plt.title('各区域景区价格均值(删除特殊格式后)')
plt.xlabel('景区区县')
plt.ylabel('景区价格均值')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()