欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python利用pandas分析學(xué)生期末成績(jī)實(shí)例代碼

 更新時(shí)間:2021年07月08日 16:54:35   作者:只為你220  
pandas是數(shù)據(jù)分析師最常用的工具之一,這篇文章主要給大家介紹了關(guān)于python如何利用pandas分析學(xué)生期末成績(jī)的相關(guān)資料,文中給出了詳細(xì)的實(shí)現(xiàn)方法,需要的朋友可以參考下

安裝Pandas

Pandas是構(gòu)建在Python編程語(yǔ)言之上的一個(gè)快速、強(qiáng)大、靈活且易于使用的開源數(shù)據(jù)分析和操作工具。Pandas是基于Numpy的專業(yè)數(shù)據(jù)分析工具,可以靈活高效的處理各種數(shù)據(jù)集。

我們使用pip進(jìn)行安裝(如果沒(méi)有可自行查詢?nèi)绾伟惭bpip)安裝panda最簡(jiǎn)單的方法是將其作為Anaconda的一部分安裝,Anaconda主要用于數(shù)據(jù)分析和科學(xué)計(jì)算。還提供源代碼、PyPI、ActivePython、各種Linux發(fā)行版或開發(fā)版本進(jìn)行安裝的說(shuō)明。

當(dāng)然,最為基礎(chǔ)的Python環(huán)境還是少不了的,如果你是Linux或使用的Mac就不用安裝Python了。


pip install pandas

分析過(guò)程

1.從excel文件中讀出本班同學(xué)的成績(jī)冊(cè),并處理好缺失值。

2.根據(jù)‘加分'和‘減分'兩列統(tǒng)計(jì)出平時(shí)成績(jī)。

3.將實(shí)驗(yàn)報(bào)告成績(jī)從ABCD轉(zhuǎn)換為百分制,統(tǒng)計(jì)出實(shí)驗(yàn)成績(jī)。A為90分,B為75分,C為60分,D為40分。

4.隨機(jī)生成假設(shè)的期末成績(jī),取值區(qū)間為40-100分。將自己的期末成績(jī)改成你覺(jué)得可能考到的分?jǐn)?shù)。

5.按照平時(shí)成績(jī)20%,實(shí)驗(yàn)成績(jī)30%,期末成績(jī)50%的比例計(jì)算綜合成績(jī)。

6.輸出你自己的平時(shí)成績(jī),實(shí)驗(yàn)成績(jī),期末成績(jī)和綜合成績(jī)。

7.統(tǒng)計(jì)全班綜合成績(jī)[90,100],[80,89],[70,79],[60-69],[0,59]各段成績(jī)的人數(shù),并畫餅圖。

8.將完整的成績(jī)保存到score.xlsx文件中,打開excel檢查輸出是否正確。

完整實(shí)例

準(zhǔn)備工作:導(dǎo)入需要用到的模塊

import pandas as pd
import numpy as np
import random
from matplotlib import pyplot as plt

(1)從excel文件中讀出本班同學(xué)的成績(jī)冊(cè),并處理好缺失值。

df=pd.read_csv("4班平時(shí)成績(jī).csv",encoding="gbk")
df=df.rename(columns={"ID":"學(xué)號(hào)"})#將列名ID重命名
df.set_index("姓名",inplace=True)#將姓名作為index
df=df.fillna(method="backfill")#處理缺失值

(2)根據(jù)‘加分'和‘減分'兩列統(tǒng)計(jì)出平時(shí)成績(jī)。

df["平時(shí)成績(jī)"]=df["平時(shí)成績(jī)"]-df["減分"]
df=df.drop("減分",axis=1)#刪除列

(3)將實(shí)驗(yàn)報(bào)告成績(jī)從ABCD轉(zhuǎn)換為百分制,統(tǒng)計(jì)出實(shí)驗(yàn)成績(jī)。A為90分,B為75分,C為60分,D為40分。

def m(x):#2 將ABCD轉(zhuǎn)化為對(duì)應(yīng)的分?jǐn)?shù)
    if x=="A":
        return 90
    if x=="B":
        return 75
    if x=="C":
        return 60
    if x=="D":
        return 40
df["第一次實(shí)驗(yàn)報(bào)告"]=df.第一次實(shí)驗(yàn)報(bào)告.map(m)
df["第二次實(shí)驗(yàn)報(bào)告"]=df.第二次實(shí)驗(yàn)報(bào)告.map(m)
df["第三次實(shí)驗(yàn)報(bào)告"]=df.第三次實(shí)驗(yàn)報(bào)告.map(m)

(4)隨機(jī)生成假設(shè)的期末成績(jī),取值區(qū)間為40-100分。將自己的期末成績(jī)改成你覺(jué)得可能考到的分?jǐn)?shù)。

def cj(x):
    return random.randint(40,100)
df["期末成績(jī)"]=""
df["期末成績(jī)"]=df.期末成績(jī).map(cj)
df

(5)按照平時(shí)成績(jī)20%,實(shí)驗(yàn)成績(jī)30%,期末成績(jī)50%的比例計(jì)算綜合成績(jī)。

df["綜合成績(jī)"]=df["期末成績(jī)"]*0.5+df["平時(shí)成績(jī)"]*0.2+df["第一次實(shí)驗(yàn)報(bào)告"]*0.1+\
                            df["第二次實(shí)驗(yàn)報(bào)告"]*0.1+df["第三次實(shí)驗(yàn)報(bào)告"]*0.1
df

(6)輸出你自己的平時(shí)成績(jī),實(shí)驗(yàn)成績(jī),期末成績(jī)和綜合成績(jī)。

df[df.姓名=='只為你220']

(7)統(tǒng)計(jì)全班綜合成績(jī)[90,100],[80,89],[70,79],[60-69],[0,59]各段成績(jī)的人數(shù),并畫餅圖。

y=pd.cut(df['綜合成績(jī)'],bins=[0,60,70,80,90,100],\
         labels=['0-59','60-69','70-79','80-89','90-100'])#分區(qū)間
a=y.value_counts()#統(tǒng)計(jì)區(qū)間人數(shù)
print(a)
plt.rcParams['font.sans-serif']=['SimHei']
a.plot(kind='pie',title='學(xué)生成績(jī)區(qū)間統(tǒng)計(jì)圖')

(8)將完整的成績(jī)保存到score.xlsx文件中,打開excel檢查輸出是否正確。

將結(jié)果保存為.xlsx文件

df.to_excel(excel_writer="score.xlsx",index=False,encoding='utf-8')

將剛剛保存的.xlsx文件打開,查看結(jié)果是否正確

pd.read_excel("score.xlsx")

總結(jié)

到此這篇關(guān)于python利用pandas分析學(xué)生期末成績(jī)碼的文章就介紹到這了,更多相關(guān)pandas分析期末成績(jī)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python+OpenCV實(shí)現(xiàn)圖像基本操作的示例詳解

    Python+OpenCV實(shí)現(xiàn)圖像基本操作的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Python通過(guò)OpenCV實(shí)現(xiàn)圖像的一些基本處理操作的方法,文中的示例代碼簡(jiǎn)潔易懂,具有一定的參考價(jià)值,感興趣的可以學(xué)習(xí)一下
    2023-04-04
  • Python多線程threading join和守護(hù)線程setDeamon原理詳解

    Python多線程threading join和守護(hù)線程setDeamon原理詳解

    這篇文章主要介紹了Python多線程threading join和守護(hù)線程setDeamon原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python使用Numpy模塊讀取文件并繪制圖片

    Python使用Numpy模塊讀取文件并繪制圖片

    這篇文章主要介紹了Python使用Numpy模塊讀取文件并繪制圖片,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python判斷有效的數(shù)獨(dú)算法示例

    Python判斷有效的數(shù)獨(dú)算法示例

    這篇文章主要介紹了Python判斷有效的數(shù)獨(dú)算法,結(jié)合實(shí)例形式分析了Python針對(duì)數(shù)獨(dú)有效性判定的相關(guān)操作技巧,需要的朋友可以參考下
    2019-02-02
  • python腳本爬取字體文件的實(shí)現(xiàn)方法

    python腳本爬取字體文件的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了利用python腳本爬取字體文件的實(shí)現(xiàn)方法,文中分享了爬取兩個(gè)不同網(wǎng)站的示例代碼,相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-04-04
  • python?Prophet時(shí)間序列預(yù)測(cè)工具庫(kù)使用功能探索

    python?Prophet時(shí)間序列預(yù)測(cè)工具庫(kù)使用功能探索

    Python?Prophet是一個(gè)強(qiáng)大的時(shí)間序列預(yù)測(cè)工具,由Facebook開發(fā),具有易用性和高度可定制性的特點(diǎn),本文將深入介紹Python?Prophet的基本概念、安裝方法以及如何使用它進(jìn)行時(shí)間序列預(yù)測(cè),并提供豐富的示例代碼來(lái)幫助大家入門
    2024-01-01
  • 我喜歡你 抖音表白程序python版

    我喜歡你 抖音表白程序python版

    我喜歡你!這篇文章主要為大家詳細(xì)介紹了抖音表白程序python版的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python中用format函數(shù)格式化字符串的用法

    Python中用format函數(shù)格式化字符串的用法

    這篇文章主要介紹了Python中用format函數(shù)格式化字符串的用法,格式化字符串是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),本文主要針對(duì)Python2.7.x版本,需要的朋友可以參考下
    2015-04-04
  • jupyternotebook 撤銷刪除的操作方式

    jupyternotebook 撤銷刪除的操作方式

    這篇文章主要介紹了jupyternotebook 撤銷刪除的操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python的子線程和子進(jìn)程是如何手動(dòng)結(jié)束的?

    Python的子線程和子進(jìn)程是如何手動(dòng)結(jié)束的?

    今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著如何手動(dòng)結(jié)束Python的子線程和子進(jìn)程展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06

最新評(píng)論