#範例16-4:讀取score.xlsx檔案,進行資料分析(1) #https://www.w3schools.com/python/pandas/default.asp #https://www.w3schools.cn/python_pandas/python_pandas_dataframe.asp #https://www.runoob.com/pandas/pandas-tutorial.html #(1)檔案:學生成績檔(excel) #https://acupun.site/lecture/python_data/example/chp6/score.xlsx #(2)讀入excel指令: #import pandas as pd #df = pd.read_excel('檔案名稱.xlsx','資料表名稱') #------------------------------ #1.練習1:分析學生成績檔(excel) #--------------------- #(1)讀取網路檔案 #--------------------- #(2)以dataframe(2維資料格式),印出第1位同學的各科成績 print() print("2.第1位同學的學號") print("第1位同學的姓名") print("第1位同學的國文分數") print("第1位同學的英文分數") print("第1位同學的數學分數") #--------------------- #(3)印出全班數學平均分數,國文,英文 print() print("3.全班數學平均分數") print("全班國文平均分數") print("全班英文平均分數") #--------------------- #(4)印出全班各科平均分數,使用最新的f-string格式化(小數點到第2位) #https://www.runoob.com/python/att-string-format.html #https://www.w3schools.com/python/python_string_formatting.asp print() a1 = 2.65332 print(f'{a1:.2f}') print("4.全班數學平均分數") print("全班數學平均分數") print("全班數學平均分數") #--------------------- #(5)印出全班數學90以上分數的同學 print() print("5.全班數學90以上分數的同學:\n") print() print("全班數學90以上分數的同學姓名(1):\n") print() print("全班數學90以上分數的同學姓名(2):",) #--------------------- #(6)印出name=john的全部資料 print() print() print("6.name=john的全部資料(1)=\n") print() print() print("7.name=john的全部資料(2)=") #----------------------------------------------------- #----------------------------------------------------- #範例16-4:讀取score.xlsx檔案,進行資料分析(1) #https://www.w3schools.com/python/pandas/default.asp #https://www.w3schools.cn/python_pandas/python_pandas_dataframe.asp #https://www.runoob.com/pandas/pandas-tutorial.html #(1)檔案:學生成績檔(excel) #https://acupun.site/lecture/python_data/example/chp6/score.xlsx #(2)讀入excel指令: #import pandas as pd #df = pd.read_excel('檔案名稱.xlsx','資料表名稱') #(3)讀入excel指令: #------------------------------ #1.練習1:分析學生成績檔(excel) #--------------------- #(1)讀取網路檔案 import pandas as pd df = pd.read_excel("https://acupun.site/lecture/python_data/example/chp6/score.xlsx","mad3a") #--------------------- #(2)以dataframe(2維資料格式),印出第1位同學的各科成績 print() print("2. 第1位同學的學號", df["id"][0]) print("第1位同學的姓名", df["name"][0]) print("第1位同學的國文分數", df["chi"][0]) print("第1位同學的英文分數", df["eng"][0]) print("第1位同學的數學分數", df["math"][0]) #--------------------- #(3)印出全班數學平均分數,國文,英文 print() print("3. 全班數學平均分數", df["math"].mean()) print("全班國文平均分數", df["chi"].mean()) print("全班英文平均分數", df["eng"].mean()) #--------------------- #(4)印出全班各科平均分數,使用最新的f-string格式化(小數點到第2位) #https://www.runoob.com/python/att-string-format.html #https://www.w3schools.com/python/python_string_formatting.asp print() a1 = 2.65332 print(f'{a1:.2f}') print("4. 全班數學平均分數", f'{df["math"].mean():.2f}') print("全班數學平均分數", f'{df["chi"].mean():.2f}') print("全班數學平均分數", f'{df["eng"].mean():.2f}') #--------------------- #(5)印出全班數學90以上分數的同學 print() m90 = df["math"] >= 90 print("5. 全班數學90以上分數的同學:\n", df[m90]) print() print("全班數學90以上分數的同學姓名(1):\n", df[m90]["name"]) print() print("全班數學90以上分數的同學姓名(2):",) for item in df[m90]["name"]: #print(item) #如何輸出結果不換行:加上end=''參數 print(item, ", ", end='') #--------------------- #(6)印出name=john的全部資料 print() print() namejohn = df['name'] == "john" print("6 . name=john的全部資料(1)=\n", df[namejohn]) print() #-----------------------------------------------------