python利用pandas分析學(xué)生期末成績實例代碼
安裝Pandas
Pandas是構(gòu)建在Python編程語言之上的一個快速、強大、靈活且易于使用的開源數(shù)據(jù)分析和操作工具。Pandas是基于Numpy的專業(yè)數(shù)據(jù)分析工具,可以靈活高效的處理各種數(shù)據(jù)集。
我們使用pip進行安裝(如果沒有可自行查詢?nèi)绾伟惭bpip)安裝panda最簡單的方法是將其作為Anaconda的一部分安裝,Anaconda主要用于數(shù)據(jù)分析和科學(xué)計算。還提供源代碼、PyPI、ActivePython、各種Linux發(fā)行版或開發(fā)版本進行安裝的說明。
當然,最為基礎(chǔ)的Python環(huán)境還是少不了的,如果你是Linux或使用的Mac就不用安裝Python了。

pip install pandas
分析過程
1.從excel文件中讀出本班同學(xué)的成績冊,并處理好缺失值。
2.根據(jù)‘加分'和‘減分'兩列統(tǒng)計出平時成績。
3.將實驗報告成績從ABCD轉(zhuǎn)換為百分制,統(tǒng)計出實驗成績。A為90分,B為75分,C為60分,D為40分。
4.隨機生成假設(shè)的期末成績,取值區(qū)間為40-100分。將自己的期末成績改成你覺得可能考到的分數(shù)。
5.按照平時成績20%,實驗成績30%,期末成績50%的比例計算綜合成績。
6.輸出你自己的平時成績,實驗成績,期末成績和綜合成績。
7.統(tǒng)計全班綜合成績[90,100],[80,89],[70,79],[60-69],[0,59]各段成績的人數(shù),并畫餅圖。
8.將完整的成績保存到score.xlsx文件中,打開excel檢查輸出是否正確。
完整實例
準備工作:導(dǎo)入需要用到的模塊
import pandas as pd import numpy as np import random from matplotlib import pyplot as plt
(1)從excel文件中讀出本班同學(xué)的成績冊,并處理好缺失值。
df=pd.read_csv("4班平時成績.csv",encoding="gbk")
df=df.rename(columns={"ID":"學(xué)號"})#將列名ID重命名
df.set_index("姓名",inplace=True)#將姓名作為index
df=df.fillna(method="backfill")#處理缺失值
(2)根據(jù)‘加分'和‘減分'兩列統(tǒng)計出平時成績。
df["平時成績"]=df["平時成績"]-df["減分"]
df=df.drop("減分",axis=1)#刪除列
(3)將實驗報告成績從ABCD轉(zhuǎn)換為百分制,統(tǒng)計出實驗成績。A為90分,B為75分,C為60分,D為40分。
def m(x):#2 將ABCD轉(zhuǎn)化為對應(yīng)的分數(shù)
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)隨機生成假設(shè)的期末成績,取值區(qū)間為40-100分。將自己的期末成績改成你覺得可能考到的分數(shù)。
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)統(tǒng)計全班綜合成績[90,100],[80,89],[70,79],[60-69],[0,59]各段成績的人數(shù),并畫餅圖。
y=pd.cut(df['綜合成績'],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)計區(qū)間人數(shù)
print(a)
plt.rcParams['font.sans-serif']=['SimHei'] a.plot(kind='pie',title='學(xué)生成績區(qū)間統(tǒng)計圖')

(8)將完整的成績保存到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é)生期末成績碼的文章就介紹到這了,更多相關(guān)pandas分析期末成績內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python辦公自動化之發(fā)送電子郵件和Outlook集成
Python辦公?動化是利?Python編程語?來創(chuàng)建腳本和程序,以簡化、加速和?動化?常辦公任務(wù)和?作流程的過程,本文主要介紹一下如何利用Python實現(xiàn)發(fā)送電子郵件和Outlook集成,需要的可以參考下2023-12-12
pytorch 中autograd.grad()函數(shù)的用法說明
這篇文章主要介紹了pytorch 中autograd.grad()函數(shù)的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05
基于python分析你的上網(wǎng)行為 看看你平時上網(wǎng)都在干嘛
這篇文章主要介紹了基于python分析你的上網(wǎng)行為 看看你平時上網(wǎng)都在干嘛,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08
Python Pillow Image.save 保存為jpg圖片壓縮問題
Pillow 庫支持多種圖片格式,Pillow 能夠很輕松地實現(xiàn)圖片格式之間的轉(zhuǎn)換。本文就來詳細的介紹一下Image.save的具體使用,感興趣的可以了解一下2021-11-11

