【python】python葡萄酒国家分布情况数据分析pyecharts可视化(源码+数据集+论文)【独一无二】

本文主要是介绍【python】python葡萄酒国家分布情况数据分析pyecharts可视化(源码+数据集+论文)【独一无二】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


python葡萄酒国家分布情况数据分析pyecharts可视化(源码+数据集+论文)【独一无二】


目录

  • python葡萄酒国家分布情况数据分析pyecharts可视化(源码+数据集+论文)【独一无二】
  • 一、设计要求
      • 功能点1:数据读取与展示
      • 功能点2:数据筛选与保存
      • 功能点3:数据可视化
  • 二、设计思路
      • 1. 数据读取
        • 使用 `csv` 模块读取数据
        • 使用 `pandas` 库读取数据
      • 2. 数据清洗
        • 删除缺失值
      • 3. 数据处理
        • 筛选特定数据并保存
      • 总结
  • 三、可视化分析
    • 不同国家的葡萄酒数量分布
    • 葡萄酒评分随价格的分布情况
    • 不同评分等级的葡萄酒占比
    • 价格和评分关系
    • 国家葡萄酒数量进行分析
    • 八个省份的葡萄酒数量


一、设计要求

该项目通过读取葡萄酒数据文件,进行数据分析和可视化,展示不同国家、评分和价格的葡萄酒分布情况。主要功能包括数据读取与展示、数据筛选与保存、以及数据可视化。

功能点1:数据读取与展示

  • 读取CSV文件
    • 使用csv模块读取winemag-data.csv文件。
    • 使用pandas模块读取winemag-data.csv文件。
  • 显示特定行数据
    • 使用csv模块显示前15行、第20行到第25行、倒序输出最后10行的数据。
    • 使用pandas模块显示前15行、第20行到第25行、倒序输出最后10行的数据。
  • 数据描述
    • 使用pandas模块显示数据文件的信息(info方法)和描述性统计(describe方法)。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈

功能点2:数据筛选与保存

  • 筛选US原产地葡萄酒数据
    • 从数据中筛选出原产地为US的葡萄酒,并选择显示其描述、评分和价格字段。
  • 保存筛选结果
    • 将筛选出的US葡萄酒数据保存到新的CSV文件us_wines.csv中。

功能点3:数据可视化

  • 柱状图:不同国家的葡萄酒数量
    • 创建柱状图显示不同国家的葡萄酒数量,设置标题为“不同国家的葡萄酒数量”。
  • 箱线图:葡萄酒评分随价格的分布
    • 创建箱线图显示葡萄酒评分随价格的分布,设置标题为“葡萄酒评分随价格的分布”。
  • 饼状图:不同评分类别的葡萄酒占比
    • 创建饼状图显示不同评分(低评分:80-84,中评分:85-89,高评分:90-100)类别的葡萄酒占比,设置标题为“不同评分类别的葡萄酒占比”。
  • 散点图:价格与评分关系
    • 创建散点图显示葡萄酒价格与评分的关系,设置标题为“价格与评分关系”。
  • 环状图:五个国家的葡萄酒数量
    • 创建环状图显示五个国家的葡萄酒数量,设置标题为“五个国家的葡萄酒数量”。
  • 玫瑰图:八个省份的葡萄酒数量
    • 创建玫瑰图显示八个省份的葡萄酒数量,设置标题为“八个省份的葡萄酒数量”。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈

在这里插入图片描述

在这里插入图片描述

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈


二、设计思路

好的,结合上述代码,我们可以从数据读取、数据清洗和数据处理三个方面详细讲解代码的设计思路和实现过程。

1. 数据读取

数据读取是数据分析的第一步,代码中通过两种方式读取 CSV 文件的数据:使用 csv 模块和 pandas 库。

使用 csv 模块读取数据
import csvfilename = 'winemag-data.csv'
with open(filename, newline='', encoding='utf-8') as csvfile:reader = csv.reader(csvfile)data = list(reader)# 显示前15行数据
print("前15行数据:")
# 略 > 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈# 显示第20行到第25行的数据
print("\n第20行到第25行的数据:")
# 略 > 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈# 倒序输出最后10行的数据
print("\n倒序输出最后10行的数据:")
# 略 > 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈
  • 读取文件:使用 open 函数打开 CSV 文件,并使用 csv.reader 读取文件内容。
  • 转换为列表:将读取到的数据转换为列表,方便后续操作。
  • 显示特定行:通过列表切片操作显示特定行的数据,包括前15行、第20行到第25行,以及倒序的最后10行。
使用 pandas 库读取数据
import pandas as pd# 略 > 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈# 显示前15行数据
print("\n前15行数据:")
print(df.head(15))# 显示第20行到第25行的数据
# 略 > 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈# 倒序输出最后10行的数据
print("\n倒序输出最后10行的数据:")
print(df.tail(10)[::-1])
  • 读取文件:使用 pandas.read_csv 读取 CSV 文件,返回一个 DataFrame 对象。
  • 显示数据信息和描述性统计:使用 df.info()df.describe() 分别显示数据的基本信息和描述性统计。
  • 显示特定行:通过 df.head()df.iloc[]df.tail()[::-1] 显示前15行、第20行到第25行以及倒序的最后10行数据。

2. 数据清洗

数据清洗是数据处理的重要一步,目的是确保数据的完整性和质量,去除或修正缺失、错误或不一致的数据。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈

删除缺失值
df = df.dropna(subset=['points', 'price'])
  • 删除缺失值:使用 pandas 提供的 dropna 方法,删除 pointsprice 列中包含缺失值的行,确保数据的完整性。

3. 数据处理

数据处理包括对数据的筛选、转换和保存等操作,以便后续的分析和可视化。

筛选特定数据并保存
# 略 > 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈
us_wines.to_csv('us_wines.csv', index=False)print("\n筛选出的US葡萄酒数据已保存到us_wines.csv文件中")
  • 筛选数据:使用布尔索引筛选出原产地为 US 的葡萄酒,并选择 descriptionpointsprice 列。
  • 保存数据:将筛选后的数据保存到新的 CSV 文件 us_wines.csv 中,便于后续使用。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈

总结

整个代码从数据读取、数据清洗到数据处理,循序渐进地对葡萄酒数据进行全面的操作:

  1. 数据读取:通过 csv 模块和 pandas 库读取数据,了解数据的基本结构和内容。
  2. 数据清洗:删除 pointsprice 列中包含缺失值的行,确保数据完整性。
  3. 数据处理:筛选出特定条件下的数据并保存,为后续分析和可视化做好准备。

通过这些步骤,能够有效地对葡萄酒数据进行清洗和处理,确保数据质量并为进一步的分析奠定基础。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈


三、可视化分析

使用了 Pyecharts 库对葡萄酒数据进行了多种类型的可视化展示,以便从多个角度全面了解数据的特征和趋势。Pyecharts 是一个基于 Python 的数据可视化库,能够生成丰富多样的图表,包括柱状图、箱线图、饼状图、散点图、环状图和玫瑰图。

不同国家的葡萄酒数量分布

柱状图用于展示不同国家的葡萄酒数量分布。通过统计每个国家的葡萄酒数量,并在图表中以柱状形式展示,可以直观了解各个国家在葡萄酒生产中的份额。这种展示方式清晰明了,有助于快速识别出主要的葡萄酒生产国,为市场份额分析提供基础数据。

bar = (Bar().add_xaxis(df['country'].value_counts().index.tolist()).add_yaxis("数量", df['country'].value_counts().tolist()).set_global_opts(title_opts=opts.TitleOpts(title="不同国家的葡萄酒数量"))
)

在这里插入图片描述

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈

葡萄酒评分随价格的分布情况

箱线图用于展示葡萄酒评分随价格的分布情况。通过箱线图,可以观察到数据的分布情况、中位数、四分位数以及异常值。这种图表有助于揭示价格与评分之间的潜在关系,帮助消费者和生产者理解价格对评分的影响,从而优化定价策略和质量管理。

boxplot = Boxplot()
boxplot.add_xaxis(["价格"])
boxplot.add_yaxis("评分", boxplot.prepare_data([df['points'].tolist()]))
boxplot.set_global_opts(title_opts=opts.TitleOpts(title="葡萄酒评分随价格的分布"))

在这里插入图片描述

不同评分等级的葡萄酒占比

饼状图将评分分为三类:低评分(80-84)、中评分(85-89)和高评分(90-100),并展示各类评分的葡萄酒占比。通过这种分类展示,用户可以清晰了解不同评分等级的葡萄酒在数据集中所占的比例,有助于了解市场对不同评分葡萄酒的需求和接受度。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈

bins = [80, 84, 89, 100]
labels = ['低评分 (80-84)', '中评分 (85-89)', '高评分 (90-100)']
df['rating_category'] = pd.cut(df['points'], bins=bins, labels=labels, right=False)
rating_counts = df['rating_category'].value_counts()
pie = (Pie()# 略.....# 略......set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}", position="outside"))
)

在这里插入图片描述

价格和评分关系

散点图展示了价格与评分的关系。通过在散点图中展示价格和评分的具体数据点,可以观察到价格与评分之间的分布趋势和聚集情况。这种图表有助于进一步验证价格是否在一定程度上反映了葡萄酒的评分,为消费者选购葡萄酒提供参考。

scatter = (Scatter()# 略.....# 略......set_global_opts(title_opts=opts.TitleOpts(title="价格与评分关系"))
)![

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈

在这里插入图片描述

国家葡萄酒数量进行分析

环状图选择了前五个国家的葡萄酒数量进行分析。通过对主要葡萄酒生产国的数据进行环状图展示,用户可以直观了解这些国家的市场份额和竞争情况,为国际市场战略制定提供数据支持。

top_countries = df['country'].value_counts().nlargest(5)
ring = (Pie()# 略.....# 略......set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}", position="outside"))
)

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈

在这里插入图片描述

八个省份的葡萄酒数量

玫瑰图分析了前八个省份的葡萄酒数量。通过选取葡萄酒数量最多的八个省份,并在玫瑰图中进行展示,用户可以直观了解这些省份在葡萄酒生产中的重要地位。这种分析有助于揭示主要葡萄酒生产区域的分布情况,为区域市场分析和策略制定提供参考。

top_provinces = df['province'].value_counts().nlargest(8)
rose = (Pie().add("", [list(z) for z in zip(top_provinces.index.tolist(), top_provinces.tolist())], radius=["30%", "75%"], rosetype="radius")# 略.....# 略.....
)

在这里插入图片描述


👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 葡萄酒 ” 获取。👈👈👈

这篇关于【python】python葡萄酒国家分布情况数据分析pyecharts可视化(源码+数据集+论文)【独一无二】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1089273

相关文章

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1