天天看點

德天老師一鍵幫助全完成成績單資料的多名額呈現

知識結構:

  1. 利用pandas建構一個成績單
  2. 利用apply函數進行條件統計
  3. 把資料進行表單儲存

源代碼如下:

import numpy as np
import pandas as pd

# ------------制作表單--------------------
#确定兩組随機資料,作為成績
a = np.arange(10,200)
a_b = []
a_c = []
for i in range(10):
    b = np.random.randint(120)
    c=i+b
    a_b.append(c)
    a_c.append(np.random.randint(120))
    print(i+b)
#按照字典組合的方式,建立列名和列值
data = {"國文":a_b,"數學":a_c}
#建立每一行的值(行名)
index=["張三","李四","王小丫","劉備","關羽","張飛","張三","劉一","張軍","趙明",]
#用函數DataFrame()把字典的列資料和行資料進行合并,形成一個資料表單
df = pd.DataFrame(data,index=index)
#----------結束制作---------------------------

def get_score(df):
    if df["國文"] >80:
        return "優秀"
    if df["國文"]>60:
        return "及格"
    if df["國文"]<60:
        return "不及格"
df.loc[:,"國文水準"]=df.apply(get_score,axis=1)
#   給定三個範圍的三個對應值
def get_score(df):
    if df["數學"] >80:
        return "優秀"
    if df["數學"]>60:
        return "及格"
    if df["數學"]<60:
        return "不及格"
"""
1 、df.loc[:,"新列名稱"]
2、執行函數  df.apply(函數名,豎直方向)

"""    
df.loc[:,"數學水準"]=df.apply(get_score,axis=1)
df_des = df.describe()
writer = pd.ExcelWriter("國文數學成績單.xlsx")

df.to_excel(writer,"成績單")
df_des.to_excel(writer,"成績單分析")

writer.save()