Python中画柱形图分析数据(分析各国红酒的好酒占比数据)

第二章 wine数据集几种可视化集合 第二章 wine数据集几种可视化集合 文章目录第二章 wine数据集几种可视化集合前言一、wine红酒质量数据集二、使用步骤1.引入库2.读入数据总结 前言 学习数据挖掘,用于记录练习和回顾 一、wine红酒质量数据集 数据地址:https://archive.ics.uci.edu/ml/datasets/Wine 二、使用步骤 1.引入库 import pandas as pd import numpy as np import matplotlib.pyplot as plt import se 阅读详情

最近有网友求助一个分析红酒数据画柱形图的问题,之前没画过柱形图,所以特意去研究了一下。

分享一下画柱形图的方法,以下是代码:

# -*- coding:utf8 -*-

import matplotlib.pyplot as plt
from numpy import *
import random
import csv

def ParseWineData():#解析数据
    countryList = []
    pointList = []
    with open('winemag-data_first150k.csv') as csvfile:
        csv_reader = csv.reader(csvfile)  # 使用csv.reader读取csvfile中的文件
        for row in csv_reader:  # 将csv 文件中的数据保存到birth_data中
            countryList.append(row[1])
            pointList.append(row[4])
    countryList.remove(countryList[0])
    pointList.remove(pointList[0])
    csvfile.close()
    # fr = open('winemag-data_first150k.csv')#普通方法读取数据
    # allLinesArr = fr.readlines()
    # for line in allLinesArr:
    #     line = line.strip()
    #     lineList = line.split(',')
    #     countryList.append(lineList[1])
    #     pointList.append(row[4])
    # countryList.remove(countryList[0])
    # pointList.remove(pointList[0])
    # fr.close()
    return countryList, pointList

def CreateVocabList(dataSet):#创建数据集的并集
    vocabList = []
    for i in range(len(dataSet)):
        if dataSet[i] in vocabList:
            continue
        else:
            if len(dataSet[i]) < 20 and dataSet[i] != '':
                vocabList.append(dataSet[i])
    return vocabList

def CountCountryNum(countryList, countryVocabList, pointList):#计算各国家好的红酒占比
    countryNumList = [0 for _ in range(len(countryVocabList))]#国家出现总次数
    pointNinetyFiveList = [0 for _ in range(len(countryVocabList))]#红酒高于95分次数
    precentList = [0 for _ in range(len(countryVocabList))]#95分红酒在当前国家占比

    for i in range(len(countryList)):
        for j in range(len(countryVocabList)):
            if countryList[i] == countryVocabList[j]:
                countryNumList[j] = countryNumList[j] + 1#计算国家出现次数
                if (int(pointList[i])) >= 95:
                    pointNinetyFiveList[j] = pointNinetyFiveList[j] + 1#计算高分红酒次数
    for k in range(len(precentList)):
        precentList[k] = pointNinetyFiveList[k] *100.0/ countryNumList[k]#计算百分比
    return precentList

def DrawBarChart(nameList, precentList):#画柱形图
    randomColorList = []
    for i in range(len(nameList)):
        rNum = str(hex(random.randint(0, 255))) if str(hex(random.randint(0, 255)))==4 else str(hex(random.randint(0, 255)))+"0"
        gNum = str(hex(random.randint(0, 255))) if str(hex(random.randint(0, 255)))==4 else str(hex(random.randint(0, 255)))+"0"
        bNum = str(hex(random.randint(0, 255))) if str(hex(random.randint(0, 255)))==4 else str(hex(random.randint(0, 255)))+"0"
        randomColor = str('#'+rNum[2:4]+gNum[2:4]+bNum[2:4])#创建随机颜色
        randomColorList.append(randomColor)
    plt.title("95-Point Wine In Countrys")
    rects = plt.bar(range(len(precentList)), precentList, 1, color = randomColorList[:])
    # X轴标题
    indexList = [i for i in range(len(precentList))]
    plt.xticks(indexList, nameList, rotation = 90)
    plt.xlabel("Countrys")  # X轴标签
    plt.ylim(ymax=5.0, ymin=0.0)
    plt.ylabel("95-Point Wine Precent(%)")  # Y轴标签
    for rect in rects:
        height = rect.get_height()
        height = float("%.2f" %height)
        plt.text(rect.get_x() + rect.get_width()*0.6, height+0.15, str(height)+"%" , ha='center', va='bottom', rotation = 90)
    plt.show()

countryList, pointList = ParseWineData()
countryVocabList = CreateVocabList(countryList)
precentList = CountCountryNum(countryList, countryVocabList, pointList)
print countryVocabList
DrawBarChart(countryVocabList, precentList)

代码很短,只有79行,可以看出python代码的特有的简洁和便捷的功能,还有matplotlib图形库的强大之处。

运行以后,画出柱形图:

数据集winemag-data_first150k.csv来源:http://mail.sina.com.cn/filecenter/download.php?id=ft125bf57020522c59ecfb9c

Wine Reviews(葡萄酒评论相关数据集) 原文: Wine Reviews 130k wine reviews with variety, location, winery, price, and description After watching Somm (a documentary on master sommeliers) I wondered how I could create a predictive model to identify wines through blind tasting like a master som 阅读详情

相关推荐

数学建模学习(138):基于 Python 的 AdaBoost 分类模型

数学建模学习(138):基于 Python 的 AdaBoost 分类模型

全栈川川 892

[机器学习笔记] 用Python分析:红葡萄酒质量分析(数据探索)

用Python分析:红葡萄酒质量分析(数据探索) 数据集:winemag-data_first150k.csv 先来导入数据 import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import statsmodels.api as sm import stat...

梅森上校的博客 业精于勤荒于嬉,形成于思毁于随。 1万+

葡萄酒评论数据集

原文: Wine Reviews 130k wine reviews with variety, location, winery, price, and description After watchingSomm(a documentary on master sommeliers) I wondered how I could create a predictive model to identify wines through blind tasting like a master som..

不务正业的猿 1170

【Pandas数据可视化:Part 2】二维变量绘图

 常见的二维变量使用的绘图形式:散点图、热力图、堆积柱状图、二维线形图  实际操作来看看,首先读取文件 import pandas as pd import warnings warnings.filterwarnings('ignore') reviews = pd.read_csv("winemag-data_first150k.csv",index_col=0) reviews.h...

NopDes1re的专栏 2053

datamining:研究生数据挖掘作业

数据挖掘 研究生数据挖掘作业 数据集1:葡萄酒评论 该数据集包含三个文件:\ n 1.winemag-data-130k-v2.csv包含10列和13万行的葡萄酒评论。 2.winemag-data_first150k.csv包含10列和15万行葡萄酒评论。 3.winemag-data-130k-v2.json包含6919个葡萄酒评论节点。 数据集2:奥克兰犯罪统计数据2011年至2016年 这是由加利福尼亚州奥克兰市托管的数据集。 该组织在这里有一个开放的数据平台,他们会根据引入的数据量来更新其信息。我们选择2016年数据集进行挖掘

Wine Reviews 葡萄酒评论-数据集

在看了Somm(一个关于侍酒师的纪录片)之后,我想知道如何像侍酒师那样通过盲品来创建一个预测模型来鉴别葡萄酒。此过程的第一步是收集一些数据来训练模型。我计划使用深度学习通过描述/评论中的文字来预测葡萄酒的种类。该模型仍然不能品尝葡萄酒,但理论上它可以根据侍酒师给出的描述识别葡萄酒。我的总体目标是创建一个模型,它可以根据描述识别葡萄酒的品种、酿酒厂和位置。 winemag-data_first150k.csv winemag-data-130k-v2.csv winemag-data-130k-v2.json

Python数据分析(3)----酒类销售数据分析

本次实验内容为餐饮订单数据的分析,数据请见:https://pan.baidu.com/s/1tL7FE5lxs-gb6Phf8XRu_Q,文件夹:data_analysis,下面的文件:drinks.csv 本次实验主要是对python中的数据进行基本操作。 代码为: #!/usr/bin/env python # -*- coding:utf-8 -*- import pandas as p...

weixin_43981621的博客 5639

机器学习,意大利红酒数据

实验的的数据源是Wine recognition data,这是对在意大利同一地区生产的三种不同品种的酒,做大量分析所得出的数据。这些数据包括了三种酒中13种不同成分的数量。13种成分分别为:Alcohol,Malic acid,Ash,Alcalinity of ash,Magnesium,Total phenols,Flavanoids,Nonflavanoid phenols,Proanthocyanins,Color intensity,Hue,OD280/OD315 of diluted wines,Proline。在 “wine.data”文件中,每行代表一种酒的样本,共有178个样本;一共有14列,其中,第一列为类标志属性,共有三类,分别记为“1”,“2”,“3”;后面的13列为每个样本的对应属性的样本值。其中第1类有59个样本,第2类有71个样本,第3类有48个样本。

用python进行数据分析会遇到的问题_《利用python进行数据分析》常见问题汇总(一)...

利用python进行数据分析 麦金尼 代码实测常见问题汇总第1章 准备工作IPython安装及使用:开始菜单输入cmd进入命令行;输入"pip install ipython"进行安装;输入ipython进入IPython运行模式。书中示例数据下载地址:https://github.com/wesm/pydata-book/tree/1st-edition第2章 引言本书使用的是python2.7...

weixin_39917291的博客 1053

leetcoderegex-Fan_hhkr101:GG和150K

leetcode 正则表达式Fan_Fount_hhkr101 3月4日起在hackerrank上的60天python 0_Introduction Update readme.md 1_Basic_Data_Types 2_Strings 10 days passed / 3_String1 3_String2 4_set 5_set2 20 days passed / studied 13 days / 49 + 67 questions left 6_math 7_built_in 8_functionals 9_class 22 days / studied 18 days / March 25th 10_class ( unfinished ) 11_numpy 28 days passed / studied 21 days / March 31th :extra: 12_regex 13_debug GG/leetcode z_review

红酒质量分类数据

数据包含红酒的成分及对应的质量分类数据,可以用作分类用,也可做其他的研究

python柱状图加百分比_python matplotlib 为柱状图添加百分比

背景最近使用python matplotlib绘制柱状图时,想要更清晰地查看每一项占总数的百分比,在搜索后发现matplotlib.pyplot.bar方法并没有提供这个参数,于是自己尝试实现了这个功能。实现方法实现方法很简单,利用plt.text方法在柱状图的合适位置添加计算后的百分比数值即可,添加的位置这里选择了柱状图顶端的合适位置,更改plt.text(x, y + y_max / 20, ...

weixin_32046225的博客 6250

Wine_Quality.rar 红酒质量数据集

《Python机器学习预测分析核心算法》一书中要到的数据集,可用于机器学习训练测试的数据集。数据量不太大。

如何计算分类变量各个类别的占比并保存为表格(python)

我需要计算数据集df中某一个分类变量各个类别的占比时,写了如下代码: category_percentage_writer = pd.ExcelWriter('各分类特征类别数量和比例.xlsx') for i in df.columns: if df[i].dtype == object: percent = pd.DataFrame(df[i].value_counts(normalize=True)*100) count = pd.DataFrame(df[i

柳奈奈的博客 2834

DataMining:数据挖掘课程的家庭作业

数据挖掘2021 数据挖掘课程2021年作业 姓名:杨毅哲 学号:3120201088 作业一:数据探索性分析与数据前置 1.数据集选择 : 该数据集是关于葡萄酒评价的数据,共有三个数据文件: winemag-data-130k-v2.csv:包含10列和130k行关于葡萄酒的评价 winemag-data_first150k.csv:包含10列和150k行关于葡萄酒的评价 winemag-data-130k-v2.json:保护6919个关于葡萄酒评价的异步 本次数据挖掘试验选取的是winemag-data_first150k.csv数据 该数据集是美国职业棒球大联盟的数据,共有五个数据文件: atbats.csv:棒球打数数据文件 jections.csv:棒球抛球数据文件 games.csv:棒球比赛数据文件 pitches.csv:棒球数据文件 player_name.csv:

葡萄酒数据集(wine.csv)

UCI网站上的机器学习样本数据集,包含了13个不同的特征,对178个葡萄酒数据样本的化学特征做出了描述,包含了列表,是一个csv表格。

数据可视化 | Python绘制多维柱状图:一图展示西部各省人口变迁【附本文数据和代码】

本文从另一角度出发,着重讲解了将单一多维柱状图拆分为含有多个子图的多维柱状图的过程,为大家展示了一种新的数据可视化思路,并提供了执行方案。

weixin_55633225的博客 5105

葡萄酒评论数据-数据集

内容 此数据集包含三个文件: winemag-data-130k-v2.csv包含 10 列和 130k 行的葡萄酒评论。 winemag-data_first150k.csv包含 10 列和 150k 行的葡萄酒评论。 winemag-data-130k-v2.json包含 6919 个葡萄酒评论节点。 单击数据选项卡可查看单个文件描述、列级元数据和摘要统计信息。 该数据是在 2017 年 6 月 15 日这一周从 WineEnthusiast 抓取的。 更新 2017 年 11 月 24 日 在数据集用户的反馈后,我于 2017 年 11 月 22 日再次抓取了评论。这一次,我收集了每篇评论的标题,您可以解析年份、品酒师姓名和品酒师的 Twitter 句柄。这也应该可以解决重复条目问题。 灵感 我认为这个数据集为情感分析和其他与文本相关的预测模型提供了一些很好的机会。我的总体目标是创建一个模型,可以根据描述来识别葡萄酒的品种、酒庄和位置。

上一篇: Unity中使用LineRenderer画线条
下一篇: Lua中实现Switch功能
OneWord233
博客等级 码龄9年 64粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值