国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python柱狀圖、直方圖和餅狀圖統(tǒng)計(jì)學(xué)生成績

這篇具有很好參考價(jià)值的文章主要介紹了python柱狀圖、直方圖和餅狀圖統(tǒng)計(jì)學(xué)生成績。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Python的matplotlib庫具有很強(qiáng)大的繪圖功能,可以利用這個(gè)庫函數(shù)來進(jìn)行學(xué)生成績統(tǒng)計(jì)。假如有一個(gè)班的某科學(xué)生成績?nèi)绫?所示,可以用柱狀圖、直方圖和餅狀圖三種方式來進(jìn)行統(tǒng)計(jì)分析。下邊介紹一下操作步驟。

表1 學(xué)生成績表

學(xué)號(hào)

分?jǐn)?shù)

20221001

61

20221002

68

20221003

74

20221004

70

20221005

53

20221006

66

20221007

66

20221008

71

20221009

67

20221010

84

20221011

79

20221012

73

20221013

64

20221014

90

20221015

81

20221016

82

20221017

77

20221018

51

20221019

78

20221020

75

20221021

69

20221022

83

20221023

56

20221024

73

20221025

93

20221026

63

20221027

80

20221028

76

20221029

80

20221030

74

20221031

72

20221032

88

20221033

62

20221034

85

20221035

86

20221036

58

20221037

72

20221038

72

20221039

70

20221040

91

目錄

一、把成績表轉(zhuǎn)成csv格式

二、統(tǒng)計(jì)分析的方法

1、柱狀圖

2、直方圖

3、餅狀圖

三、實(shí)現(xiàn)代碼

四、實(shí)現(xiàn)效果


一、把成績表轉(zhuǎn)成csv格式

學(xué)號(hào)用字段“No.”表示,成績用“score”,表格名稱為“score”。

表2 成績表轉(zhuǎn)化為csv格式
No. score
20221001 61
20221002 68
20221003 74
20221004 70
20221005 53
20221006 66
20221007 66
20221008 71
20221009 67
20221010 84
20221011 79
20221012 73
20221013 64
20221014 90
20221015 81
20221016 82
20221017 77
20221018 51
20221019 78
20221020 75
20221021 69
20221022 83
20221023 56
20221024 73
20221025 93
20221026 63
20221027 80
20221028 76
20221029 80
20221030 74
20221031 72
20221032 88
20221033 62
20221034 85
20221035 86
20221036 58
20221037 72
20221038 72
20221039 70
20221040 91

二、統(tǒng)計(jì)分析的方法

在課程成績情況統(tǒng)計(jì)分析時(shí),可以選則柱狀圖、直方圖和餅狀圖三種圖形。

1、柱狀圖

使用柱狀圖分析全班平均分?jǐn)?shù)、最高分?jǐn)?shù)和最低分?jǐn)?shù)。

2、直方圖

使用直方圖和正態(tài)分布曲線分析全班成績的正態(tài)分布情況。

3、餅狀圖

使用餅狀圖分析60分以下、60-70分、70-80分、80-90分和90分以上幾個(gè)分?jǐn)?shù)區(qū)間的人數(shù)所占比例。

三、實(shí)現(xiàn)代碼

import pandas as pd  # 引入panda工具集
import numpy as np  # 引入numpy核心庫
import matplotlib.pyplot as plt  #引入matplotlib數(shù)據(jù)可視化庫

#聲明變量
a=0     #90分以上數(shù)量
b=0     #80-90分以上數(shù)量
c=0     #70-80分以上數(shù)量
d=0     #60-70分以上數(shù)量
e=0     #60分以下數(shù)量
score_max=0
score_min=100
score_avg=0
score_sum=0

# 正態(tài)分布的概率密度函數(shù)
#   x      數(shù)據(jù)集中的某一具體測量值
#   mu     數(shù)據(jù)集的平均值,反映測量值分布的集中趨勢
#   sigma  數(shù)據(jù)集的標(biāo)準(zhǔn)差,反映測量值分布的分散程度
def normfun(x, mu, sigma):
    pdf = np.exp(-((x - mu) ** 2) / (2 * sigma ** 2)) / (sigma * np.sqrt(2 * np.pi))
    return pdf

if __name__ == '__main__':
    
    data = pd.read_csv('score.csv') # 載入分?jǐn)?shù)數(shù)據(jù)文件
    score = data['score'] # 獲得分?jǐn)?shù)數(shù)據(jù)集
    student_no = data['No.'] # 獲得學(xué)號(hào)數(shù)據(jù)集
    mean = score.mean() # 獲得分?jǐn)?shù)數(shù)據(jù)集的平均值
    std = score.std()   # 獲得分?jǐn)?shù)數(shù)據(jù)集的標(biāo)準(zhǔn)差

   #計(jì)算分?jǐn)?shù)總和、各分?jǐn)?shù)區(qū)間數(shù)量統(tǒng)計(jì)
    for i in range(0,len(score)):
        score0=int(score[i])
                
        #print(student_no[i],score0)
        score_sum=score_sum+score0  #計(jì)算分?jǐn)?shù)之和,為求平均數(shù)做準(zhǔn)備

        #計(jì)算最大值
        if score0>score_max:
            score_max=score0

        #計(jì)算最小值
        if score0<score_min:
            score_min=score0

        
        if score0>=90:              #統(tǒng)計(jì)90分以上數(shù)量
            a=a+1
        elif score0>=80:            #統(tǒng)計(jì)80分以上數(shù)量
            b=b+1
        elif score0>=70:            #統(tǒng)計(jì)70分以上數(shù)量
            c=c+1
        elif score0>=60:            #統(tǒng)計(jì)60分以上數(shù)量
            d=d+1
        else:                       #統(tǒng)計(jì)60分以下數(shù)量
            e=e+1

    score_avg=score_sum/len(score)  #平均分
    scores=[a,b,c,d,e]              #分?jǐn)?shù)區(qū)間統(tǒng)計(jì)
    
    

    # 柱形圖柱形的寬度
    bar_width = 0.3
    

    # 設(shè)定X軸:前兩個(gè)數(shù)字是x軸的起止范圍,第三個(gè)數(shù)字表示步長,步長設(shè)定得越小,畫出來的正態(tài)分布曲線越平滑
    x = np.arange(0, 100, 1)

    # 設(shè)定Y軸,正態(tài)分布函數(shù)
    y = normfun(x, mean, std)

    # 設(shè)定柱狀圖x軸、Y軸數(shù)組
    x3 = np.arange(3)
    y3 = np.array([score_avg,score_max,score_min])
    

    # 繪制分?jǐn)?shù)數(shù)據(jù)集的正態(tài)分布曲線和直方圖(5分檔)
    plt.subplot(221)
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.title('分?jǐn)?shù)分布(5檔)')
    plt.plot(x, y)
    plt.hist(score, bins=5, rwidth=0.9, density=True)
    plt.xlabel('分?jǐn)?shù)')
    plt.ylabel('概率')
    

    # 繪制分?jǐn)?shù)數(shù)據(jù)集的正態(tài)分布曲線和直方圖(10分檔)
    plt.subplot(222)
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.title('分?jǐn)?shù)分布(10檔)')
    plt.plot(x, y)   
    plt.hist(score, bins=10, rwidth=0.9, density=True)
    plt.xlabel('分?jǐn)?shù)')
    plt.ylabel('概論')


    # 繪制柱形圖
    plt.subplot(223)
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.title('分?jǐn)?shù)統(tǒng)計(jì)')
    plt.bar(x3, y3, tick_label=['平均分', '最高分', '最低分'], width=bar_width)

    # 繪制餅狀圖
    plt.subplot(224)
    plt.rcParams['font.sans-serif'] = ['SimHei']
    plt.title('分?jǐn)?shù)段餅圖')
    plt.pie(scores,labels=['90分以上','80-90分','70-80分','60-70分','60分以下'])
    # 輸出四幅圖
plt.show()

四、實(shí)現(xiàn)效果

python柱狀圖、直方圖和餅狀圖統(tǒng)計(jì)學(xué)生成績

(全文結(jié)束)

?文章來源地址http://www.zghlxwxcb.cn/news/detail-502072.html

到了這里,關(guān)于python柱狀圖、直方圖和餅狀圖統(tǒng)計(jì)學(xué)生成績的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 直方圖統(tǒng)計(jì)增強(qiáng)方法

    直方圖統(tǒng)計(jì)增強(qiáng)方法的原理: ??直方圖統(tǒng)計(jì)增強(qiáng)是一種基于像素值分布的圖像增強(qiáng)技術(shù),通過調(diào)整像素值的分布來增強(qiáng)圖像的對(duì)比度和細(xì)節(jié)。其原理是根據(jù)圖像的直方圖信息,將原始像素值映射到一個(gè)新的像素值域,從而改變圖像的亮度和對(duì)比度。 直方圖統(tǒng)計(jì)增強(qiáng)方法的

    2024年02月09日
    瀏覽(17)
  • 描述性統(tǒng)計(jì)圖表——直方圖

    描述性統(tǒng)計(jì)圖表——直方圖

    概念:直方圖是頻數(shù)直方圖的簡稱,通常用來描述類別數(shù)據(jù)。它是用一系列寬度相等、高度不等的長方形表示數(shù)據(jù)的圖。長方形的寬度表示數(shù)據(jù)范圍的間隔,長方形的高度表示在給定間隔內(nèi)的數(shù)據(jù)數(shù)。一般橫軸表示數(shù)據(jù)類型,縱軸表示分布情況。直方圖也可以被歸一化以顯示

    2024年02月06日
    瀏覽(28)
  • Matlab遍歷文件及直方圖統(tǒng)計(jì)

    參考鏈接: 使用MATLAB遍歷文件 strtrim用法 strsplit用法 cell單元數(shù)據(jù)使用{}

    2024年02月15日
    瀏覽(20)
  • Matlab之統(tǒng)計(jì)數(shù)據(jù)分布并繪制直方圖函數(shù)histogram

    Matlab之統(tǒng)計(jì)數(shù)據(jù)分布并繪制直方圖函數(shù)histogram

    直方圖是一種將數(shù)據(jù)分組到條柱中的條形圖。該函數(shù)可以統(tǒng)計(jì)數(shù)據(jù)在劃分區(qū)間內(nèi)的數(shù)量分布,同時(shí)以直方圖的形式展示統(tǒng)計(jì)結(jié)果。 創(chuàng)建直方圖X的圖。該函數(shù)使用 一種自動(dòng)分箱算法,返回具有統(tǒng)一寬度的分箱, 選擇以涵蓋元素范圍并揭示 分布的基礎(chǔ)形狀。 將條柱顯示為矩形

    2024年04月14日
    瀏覽(28)
  • Python圖像增強(qiáng)之直方圖均衡化(全局直方圖均衡、局部直方圖均衡)

    Python圖像增強(qiáng)之直方圖均衡化(全局直方圖均衡、局部直方圖均衡)

    圖像增強(qiáng)是有目的地強(qiáng)調(diào)圖像的整體或局部特性,將原來不清晰的圖像變得清晰或強(qiáng)調(diào)某些感興趣的特征,擴(kuò)大圖像中不同物體特征之間的差別,抑制不感興趣的特征,使之改善圖像質(zhì)量、豐富信息量,加強(qiáng)圖像判讀和識(shí)別效果,滿足某些特殊分析的需要。 圖像增強(qiáng)通常劃分

    2024年02月13日
    瀏覽(28)
  • 【數(shù)學(xué)建?!縨atlab正態(tài)擬合直方圖 | 獲取一組數(shù)據(jù)的統(tǒng)計(jì)特征(平均值,方差等)

    【數(shù)學(xué)建?!縨atlab正態(tài)擬合直方圖 | 獲取一組數(shù)據(jù)的統(tǒng)計(jì)特征(平均值,方差等)

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 首先給出一組數(shù)據(jù)樣例: 1.1.1 平均值(期望) 獲得結(jié)果: 1.1.2 中值 1.1.3 方差和標(biāo)準(zhǔn)差 A.方差 B.標(biāo)準(zhǔn)差(一般也是正態(tài)分布里面的西格瑪) 1.1.4 排序 依然用之前的數(shù)據(jù)畫圖 從數(shù)據(jù)分布上來看大概就是個(gè)正

    2024年02月04日
    瀏覽(28)
  • Python繪制直方圖

    Python繪制直方圖

    對(duì)于大量樣本來說,如果想快速獲知其分布特征,最方便的可視化方案就是直方圖,即統(tǒng)計(jì)落入不同區(qū)間中的樣本個(gè)數(shù)。 以正態(tài)分布為例 其中 bins 參數(shù)用于調(diào)控區(qū)間個(gè)數(shù),出圖結(jié)果如下 直方圖函數(shù)的定義如下 除了 x 和 bins 之外,其他參數(shù)含義為 range 繪圖區(qū)間,默認(rèn)將樣本

    2024年02月05日
    瀏覽(37)
  • python 畫 直方圖

    2024年02月13日
    瀏覽(16)
  • 若依項(xiàng)目制作餅狀圖和柱狀圖

    若依項(xiàng)目制作餅狀圖和柱狀圖

    echarts+vue 先寫一個(gè)實(shí)體類,將查到的數(shù)據(jù)放在實(shí)體類中,寫一個(gè)mapper-mapper.xml-controller 這里為了方便測試沒有寫service 實(shí)體類 mapper mapper.xml 這里的SQL查到的值一定要和實(shí)體類定義的相同,要不然會(huì)報(bào)錯(cuò), SQL里的where del_flag = 0這里我是判斷是否刪除,可以不寫 controller 這里的

    2023年04月21日
    瀏覽(28)
  • 基于python的對(duì)比度增強(qiáng)(線性變換、直方圖正規(guī)化、直方圖均衡化、CLAHE)

    基于python的對(duì)比度增強(qiáng)(線性變換、直方圖正規(guī)化、直方圖均衡化、CLAHE)

    線性變換 假設(shè)輸入圖像為I,寬為W,高為H,輸出圖像為O,圖像的線性變換可以用以下公式定義: O ( r , c ) = a × I ( r , c ) + b , 0 ≤ r H , 0 ≤ c W O(r, c) = a × I(r, c) + b, 0 ≤ r H, 0 ≤ c W O ( r , c ) = a × I ( r , c ) + b , 0 ≤ r H , 0 ≤ c W 當(dāng)a=1,b=0時(shí),O為I的一個(gè)副本;如果a1,則輸出圖像

    2024年02月06日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包