Rumah >pembangunan bahagian belakang >Tutorial Python >python学习002-pandas VS excel给成绩赋值等级
【问题】有一张成绩表如下,在总分后面添加一列,按如下要求输入等级
等级如下:
成绩 |
等级 |
90以上 | A |
80-90 | B |
60-79 | C |
0-59 | D |
【知识点】
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文件内容如下
Atas ialah kandungan terperinci python学习002-pandas VS excel给成绩赋值等级. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!