python利用pandas分析學生期末成績實例代碼

安裝Pandas

Pandas是構建在Python編程語言之上的一個快速、強大、靈活且易於使用的開源數據分析和操作工具。Pandas是基於Numpy的專業數據分析工具,可以靈活高效的處理各種數據集。

我們使用pip進行安裝(如果沒有可自行查詢如何安裝pip)安裝panda最簡單的方法是將其作為Anaconda的一部分安裝,Anaconda主要用於數據分析和科學計算。還提供源代碼、PyPI、ActivePython、各種Linux發行版或開發版本進行安裝的說明。

當然,最為基礎的Python環境還是少不瞭的,如果你是Linux或使用的Mac就不用安裝Python瞭。

pip install pandas

分析過程

1.從excel文件中讀出本班同學的成績冊,並處理好缺失值。

2.根據‘加分’和‘減分’兩列統計出平時成績。

3.將實驗報告成績從ABCD轉換為百分制,統計出實驗成績。A為90分,B為75分,C為60分,D為40分。

4.隨機生成假設的期末成績,取值區間為40-100分。將自己的期末成績改成你覺得可能考到的分數。

5.按照平時成績20%,實驗成績30%,期末成績50%的比例計算綜合成績。

6.輸出你自己的平時成績,實驗成績,期末成績和綜合成績。

7.統計全班綜合成績[90,100],[80,89],[70,79],[60-69],[0,59]各段成績的人數,並畫餅圖。

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

完整實例

準備工作:導入需要用到的模塊

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

(1)從excel文件中讀出本班同學的成績冊,並處理好缺失值。

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

(2)根據‘加分’和‘減分’兩列統計出平時成績。

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

(3)將實驗報告成績從ABCD轉換為百分制,統計出實驗成績。A為90分,B為75分,C為60分,D為40分。

def m(x):#2 將ABCD轉化為對應的分數
    if x=="A":
        return 90
    if x=="B":
        return 75
    if x=="C":
        return 60
    if x=="D":
        return 40
df["第一次實驗報告"]=df.第一次實驗報告.map(m)
df["第二次實驗報告"]=df.第二次實驗報告.map(m)
df["第三次實驗報告"]=df.第三次實驗報告.map(m)

(4)隨機生成假設的期末成績,取值區間為40-100分。將自己的期末成績改成你覺得可能考到的分數。

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

(5)按照平時成績20%,實驗成績30%,期末成績50%的比例計算綜合成績。

df["綜合成績"]=df["期末成績"]*0.5+df["平時成績"]*0.2+df["第一次實驗報告"]*0.1+\
                            df["第二次實驗報告"]*0.1+df["第三次實驗報告"]*0.1
df

(6)輸出你自己的平時成績,實驗成績,期末成績和綜合成績。

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

(7)統計全班綜合成績[90,100],[80,89],[70,79],[60-69],[0,59]各段成績的人數,並畫餅圖。

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

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

將結果保存為.xlsx文件

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

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

pd.read_excel("score.xlsx")

總結

到此這篇關於python利用pandas分析學生期末成績碼的文章就介紹到這瞭,更多相關pandas分析期末成績內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: