python成绩等级函数_python学习002-pandas VS excel给成绩赋值等级
【問題】有一張成績表如下,在總分后面添加一列,按如下要求輸入等級
等級如下:成績等級
90以上A
80-90B
60-79C
0-59D
【知識點】
apply函數
apply函數是`pandas`里面所有函數中自由度最高的函數。該函數如下:
DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)
該函數最有用的是第一個參數,這個參數是函數,相當于C/C++的函數指針。
這個函數需要自己實現,函數的傳入參數根據axis來定,比如axis = 1,就會把一行數據作為Series的數據
結構傳入給自己實現的函數中,我們在函數中實現對Series不同屬性之間的計算,返回一個結果,則apply函數
會自動遍歷每一行DataFrame的數據,最后將所有結果組合成一個Series數據結構并返回。
【代碼】
```python
# -*- coding: UTF-8 -*-
import pandas as pd
def get_letter_grade(score):
if score>=90:
return "A"
elif score>=80:
return "B"
elif score>=60:
return "C"
else:
return "D"
d=pd.read_excel('pandas VS excel給成績賦值等級.xlsx')
print(d)
d['等級']=d['總分'].apply(lambda x: get_letter_grade(x))
print(d)
d.to_excel('pandas VS excel給成績賦值等級_out.xlsx',index=False)
print("done")
```
過程解析:
1.把Excel成績讀入打印出來為
2.d['等級']=d['總分'].apply(lambda x: get_letter_grade(x))
新建一個“等級“的列,并賦值等級如下
3.
d.to_excel('pandas VS excel給成績賦值等級_out.xlsx',index=False)
輸出為excel文件內容如下
總結
以上是生活随笔為你收集整理的python成绩等级函数_python学习002-pandas VS excel给成绩赋值等级的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pcb外观维修_PCB电路板维修的一些常
- 下一篇: 工人物语5战役攻略_《工人物语7》入门详