首页 > 其他分享 >【小睿的ML之路】Matplotlib柱形图与盒形(箱线)图

【小睿的ML之路】Matplotlib柱形图与盒形(箱线)图

时间:2023-09-19 22:36:45浏览次数:40  
标签:reviews set ML 柱形图 小睿 Ratingvalue Fandango norm user

import pandas as pd
import matplotlib.pyplot as plt

reviews = pd.read_csv('fandango_scores.csv') # 电影评分的数据集,包含了电影名称和不同对象的评分

cols = ['FILM','RT_user_norm','Metacritic_user_nom','IMDB_norm','Fandango_Ratingvalue','Fandango_Stars']

norm_reviews = reviews[cols]
print(norm_reviews[:5])
                             FILM  RT_user_norm  Metacritic_user_nom  \
0  Avengers: Age of Ultron (2015)           4.3                 3.55   
1               Cinderella (2015)           4.0                 3.75   
2                  Ant-Man (2015)           4.5                 4.05   
3          Do You Believe? (2015)           4.2                 2.35   
4   Hot Tub Time Machine 2 (2015)           1.4                 1.70   

   IMDB_norm  Fandango_Ratingvalue  Fandango_Stars  
0       3.90                   4.5             5.0  
1       3.55                   4.5             5.0  
2       3.90                   4.5             5.0  
3       2.70                   4.5             5.0  
4       2.55                   3.0             3.5  
# 计算'IMDB_norm'的值计数并按索引排序
imdb_distribution = norm_reviews['IMDB_norm'].value_counts().sort_index()
print(imdb_distribution)
2.00     1
2.10     1
2.15     1
2.20     1
2.30     2
2.45     2
2.50     1
2.55     1
2.60     2
2.70     4
2.75     5
2.80     2
2.85     1
2.90     1
2.95     3
3.00     2
3.05     4
3.10     1
3.15     9
3.20     6
3.25     4
3.30     9
3.35     7
3.40     1
3.45     7
3.50     4
3.55     7
3.60    10
3.65     5
3.70     8
3.75     6
3.80     3
3.85     4
3.90     9
3.95     2
4.00     1
4.05     1
4.10     4
4.15     1
4.20     2
4.30     1
Name: IMDB_norm, dtype: int64
# 计算'Fandango_Ratingvalue'的值计数并按索引排序
fandango_distribution = norm_reviews['Fandango_Ratingvalue'].value_counts().sort_index()
print(fandango_distribution)
2.7     2
2.8     2
2.9     5
3.0     4
3.1     3
3.2     5
3.3     4
3.4     9
3.5     9
3.6     8
3.7     9
3.8     5
3.9    12
4.0     7
4.1    16
4.2    12
4.3    11
4.4     7
4.5     9
4.6     4
4.8     3
Name: Fandango_Ratingvalue, dtype: int64
fig,ax = plt.subplots()
# ax.hist(norm_reviews['Fandango_Ratingvalue'])
# ax.hist(norm_reviews['Fandango_Ratingvalue'],bins=20)

# 分为20个 bin,并且数据范围限定在4到5之间
ax.hist(norm_reviews['Fandango_Ratingvalue'],bins=20,range=(4,5))

plt.show()

fig = plt.figure(figsize=(10,10))

ax1 = fig.add_subplot(2,2,1)
ax1.hist(norm_reviews['Fandango_Ratingvalue'],bins=20,range=(0,5))
ax1.set_title('Distribution of Fandango_Ratings')
ax1.set_ylim(0,50) # y 轴限制为 0 到 50

ax2 = fig.add_subplot(2,2,2)
ax2.hist(norm_reviews['RT_user_norm'],bins=20,range=(0,5))
ax2.set_title('Distribution of Rotten Tomatoes Ratings')
ax2.set_ylim(0,50) # y 轴限制为 0 到 50

ax3 = fig.add_subplot(2,2,3)
ax3.hist(norm_reviews['Metacritic_user_nom'],bins=20,range=(0,5))
ax3.set_title('Distribution of Metacritic Ratings')
ax3.set_ylim(0,50) # y 轴限制为 0 到 50

ax3 = fig.add_subplot(2,2,4)
ax3.hist(norm_reviews['IMDB_norm'],bins=20,range=(0,5))
ax3.set_title('Distribution of IMDB Ratings')
ax3.set_ylim(0,50) # y 轴限制为 0 到 50

plt.show()

# 绘制一个箱线图(boxplot),显示 'RT_user_norm' 列的分布情况。箱线图可以显示数据的分位数、中位数、异常值等统计信息。
flg, ax = plt.subplots()
ax.boxplot(norm_reviews['RT_user_norm'])
ax.set_xticklabels(['RT_user_norm'])
ax.set_ylim(0,5)

plt.show()

箱线图解释

中位数(Q2或第二四分位数):箱线图中的中线代表数据的中位数,即将数据排序后位于中间位置的值。(图中黄色)
异常值:箱线图中显示的异常值是指相对于箱体的“离群点”,即远离四分位数的数据点,可以是异常值或者极端值。
四分位数:

  • 第一四分位数(Q1):将数据分成四等份,第一四分位数是数据的最低 25%。(下方)
  • 第三四分位数(Q3):是数据的最低 75% 。(上方)

标签:reviews,set,ML,柱形图,小睿,Ratingvalue,Fandango,norm,user
From: https://www.cnblogs.com/guowenrui/p/17716012.html

相关文章

  • 使用Java去除html标签的几种方法
    用Java解析html,删除所有的HTML标签,只保留纯文字内容,有以下几种方法:1.使用正则表达式html内容从程序角度来讲,就是一个字符串,我们可以对其按照纯文本处理的方式来处理。我们在做文本处理的时候,第一个想到的就是正则表达式。从一个字符串中删除HTML,对于正则来说,还是比较简单的......
  • MyBatis中 Mapper.xml 文件
     resources目录下新建文件夹mapper(个人习惯全路径与Mapper类对应) <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd......
  • 【MyAndroid】AndroidManifest.xml合并规则详解和注意事项
    APK或AndroidAppBundle文件只能包含一个AndroidManifest.xml文件,但AndroidStudio项目可以包含多个清单文件,这些清单文件由主源代码集、build变体和导入的库提供。因此,在构建应用时,Gradle构建系统会将所有清单文件合并成一个清单文件打包到应用中。清单合并工具遵循某些......
  • win10 按键盘偶尔会出现一个光圈when pressing ctrl, randomly a white circle thing
    whenpressingctrl,randomlyawhitecirclethingappearsaroundmymousecurser.SolutionTwo:Thisonlyappliesifyouhave"Powertoys"installed. OpenPowertoysNavigateto'Mouseutilities'onthesidepanel.Turnoff'......
  • destoon上做纯js实现html指定页面导出word
    因为最近做了范文网站需要,所以要下载为word文档,如果php进行处理,很吃后台服务器,所以想用前端进行实现。查询github发现,确实有这方面的插件。js导出word文档所需要的两个插件:FileSaver.jsjquery.wordexport.js首先引入:<!--生成word!--><scriptsrc="https://cdn.bootcss......
  • 【小睿的ML之路】Matplotlib子图操作(创建子图,多数据设置颜色、标签等)--美国失业率
    创建子图importmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspdunrate=pd.read_csv('UNRATE.csv')unrate['DATE']=pd.to_datetime(unrate['DATE'])#时间日期转换unrate['Month']=unrate['DATE'].dt.......
  • springboot中配置druid的依赖,与application.yml中设置druid的相关配置
    2023-09-18<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.16</version></dependency>application.ymlsprin......
  • HTML笔记
    一、HTML基础1、网页文件、以.html或者.htm为后缀名的文件。2、网站网页的集合。3、HTML:超文本标记语言。纯文本(字符、数字、字母等)超文本:超越文本的限制、显示视频、音频、图片、动画等。超链接跳转功能。标记:打标记符号(字母、数字等组合),浏览器解析标记。4、工具的使用(1)插入HTML......
  • WEB漏洞-XXE&XML之利用检测绕过全解
    XML内容: <?xmlversion="1.0"?> <!DOCTYPEa[ <!ENTITY%dSYSTEM“file:///etc/passwd”>%d; ]> <c>%d;</c> XML内容 <?xmlversion=’1.0’?> <!DOCTYPEa[ <!ENTITY%dSYSTEM“http://abc.com/evil.dt......
  • UML类图
             ......