当前位置: 首页 > article >正文

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

一、设计题目

长沙景区数据分析项目

二、设计目的

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

三、设计要求

读取‘长沙景区信息.xlsx’文件(读取Excel文件的方法为pandas.read_excel(),详细介绍请见第四小节知识补充小节),按照文件中‘景区区县’分组统计,计算各区域景区数量,使用matplotlib.pyplot模块绘制柱状图;按照文件中‘景区区县’分组统计,计算各区域 ‘景区价格’均值并升序排序,使用matplotlib.pyplot模块绘制折线图,删除特殊格式景区区县, x轴刻度标签选取景区区县如图所示。(图表颜色不限制)。

代码实现:

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()


http://www.kler.cn/a/456206.html

相关文章:

  • 【设计模式学习笔记】1. 设计模式概述
  • 华为,新华三,思科网络设备指令
  • SQL 实战:动态表创建与多表更新的高级 SQL
  • OpenCV相机标定与3D重建(37)计算两幅图像之间单应性矩阵(Homography Matrix)的函数findHomography()的使用
  • Element-ui table组件:单元格未溢出,悬浮出现popover提示框
  • 【从零开始入门unity游戏开发之——unity篇01】unity6基础入门开篇——游戏引擎是什么、主流的游戏引擎、为什么选择Unity
  • Django实现异步视图adrf请求
  • Android Studio使用BottomNavigationView实现底部导航栏demo
  • 【Ext.js 初步入门】Ext.js 作用以及用法 概述
  • 企业内训|AI大模型在汽车行业的前沿应用研修-某汽车集团
  • Java MySQL 连接
  • 自动化测试- 自动化测试模型
  • RabbitMQ - 1 ( 7000 字 RabbitMQ 入门级教程 )
  • PyTorch框架实现的简单手写数字识别模型,使用MNIST数据集进行训练和测试
  • 32单片机从入门到精通之硬件架构——总线系统(二)
  • word中文献引用[]符号的上下标格式修改
  • 【反转链表系列】力扣206,92,25
  • WINDOWS对话框模板结构简析
  • 接口自动化测试平台项目环境搭建
  • 如何使用Porcupine做一个安卓端语音唤醒demo
  • java相关学习文档或网站整理
  • 【MySQL】数据库初始化报错
  • Mono里运行C#脚本7—MonoImageStorage结构解析
  • 【Sentinel】初识Sentinel
  • 【小程序】全局配置window和tabBar
  • 在 Windows 11 下的 WSL - Ubuntu 24.04 中安装 Anaconda3