[Question] Il y a un tableau de score comme suit. Ajoutez une colonne après le score total et entrez la note comme suit
La note est la suivante :
成绩 |
等级 |
90以上 | A |
80-90 | B |
60-79 | C |
0-59 | D |
[Points de connaissances]
fonction appliquer
La fonction appliquer est la fonction avec le plus haut degré de liberté parmi toutes les fonctions de `pandas`. La fonction est la suivante :
DataFrame.apply(func, axis=0, Broadcast=False, raw=False, Reduction=None, args=(), **kwds)
Ceci la fonction est la plus utile. Ce qui est utile, c'est le premier paramètre, qui est une fonction, équivalente à un pointeur de fonction en C/C++.
Cette fonction doit être implémentée par vous-même. Les paramètres entrants de la fonction sont déterminés en fonction de l'axe. Par exemple, si axe = 1, une ligne de données se transmettra à elle-même. données de la structure Série
. Dans la fonction implémentée, nous implémentons des calculs entre différents attributs de la Série dans la fonction et renvoyons un résultat, puis la fonction d'application
parcourra automatiquement les données de chaque ligne de DataFrame, et enfin combiner tous les résultats en une seule structure de données et un retour.
【代码】
```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")
```
Analyse du processus :
1. Lire et imprimer sous la forme
2.d['Grade']=d['Total Score'].apply(lambda x: get_letter_grade(x))
Créez une nouvelle colonne « Note » et attribuez la note comme suit
3.
d.to_excel('pandas VS Excel attribue une note à grade _out.xlsx',index=False)
Le contenu de la sortie sous forme de fichier Excel est le suivant
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!