长沙景区数据分析项目实现

一、设计题目

长沙景区数据分析项目

二、设计目的

通过本项目让学生独立完成数据统计、数据可视化、数据分析的过程,并提高学生解决问题的能力。

三、设计要求

读取'长沙景区信息.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()
相关推荐
学逆向的4 分钟前
扩展PE头属性说明
开发语言·网络安全·pe
秋名RG12 分钟前
Java 基础语法
java·开发语言
码行山野赴时序归途17 分钟前
C 语言文件操作完全指南:从打开到关闭
c语言·开发语言
2501_9378609423 分钟前
Java 文件操作与IO(下):字节流、字符流实战IO读写
java·开发语言·python
事圆则缓30 分钟前
Kotlin 高阶工程化与 Android 深入实践
android·开发语言·kotlin
Highcharts.js30 分钟前
Highcharts Orbit 管理器:让企业级可视化与数据分析实现平台化
信息可视化·数据挖掘·数据分析·可视化工具·highcharts·图表工具·管理器
驭渊的小故事36 分钟前
java抽奖项目-奖品上传中传递参数类型的错误
java·开发语言
E_ICEBLUE38 分钟前
为 Excel 工作簿和工作表设置密码保护【Python教程】
python·excel
名字还没想好☜39 分钟前
Go 时间格式化为什么用 2006-01-02:time.Format/Parse 的参考时间、时区与解析踩坑
开发语言·后端·golang·go
Dream Cosmos42 分钟前
C++ 多态下篇:虚函数表、动态绑定与多态底层原理
开发语言·c++