私は以下のようなデータフレームdfを持っています。レターグレードをGPAに変換する:自分のコードで何が問題になっていますか?
ID SUBJ GRADE
1 Amer Natl Govt A
2 Princ Of Macroecon B
3 General Biology B
4 Concept Of Chem C
5 General Chem C
私は文字のグレード(グレード)を学年の平均に変換したいと思います。
タプルのリストの文字のデータ型が自分のデータフレームの文字のデータ型と同じであるように、すべての行に対して常に例外2.3を返す次のコードを記述しましたが、文字列。誰かが私のコードの問題を教えてもらえますか?ありがとうございました。
def getGradePoint(row):
grades = [('A+', 4.0), ('A', 4.0), ('A-', 3.7), ('B+',3.3), ('B',3.0), ('B-',2.7), ('C+',2.3), ('C',2.0),\
('C-',1.7),('D+',1.3),('D',1.0),('D-',0.7),('F',0.0)]
for i in range(len(grades)):
if row == grades[i][0]:
return grades[i][1]
else:
return 2.3
df['GRADE_PT'] = df['GRADE'].apply(getGradePoint)
ID SUBJ GRADE GPA
1 Amer Natl Govt A 2.3
2 Princ Of Macroecon B 2.3
3 General Biology B 2.3
4 Concept Of Chem C 2.3
5 General Chem C 2.3