下記の設問に対する答えとして相応しものを選択肢から選び、次のコードの空欄(##########)を埋めてください.
関数 GetGrade を用いて、”School Year” 列の各データに対応して、それぞれ 3 より小さければ “Low” 、
3 以上 5 未満であれば “Middle” 、5それ以外は ” High” となるような Series を作成してください.
また、変数 df に “Grade” 列を用意しその Series を代入してください.
def GetGrade(x):
if x < 3:
return "Low"
elif x >= 3 and x < 5:
return "Middle"
else:
return "High"
import pandas as pd
import numpy as np
df = pd.DataFrame({"Height" : np.arange(155, 185, 3),
"Weight" : np.arange(45, 85, 4),
"Sex" : ["Female", "Male", "Male", "Female", "Female", "FeMale", "Female", "Male", "Male", "Male"],
"School Year" : [1, 1, 2, 4, 3, 4, 5, 5, 6, 6]})
grade_dict = {1 : "Low",
2 : "Low",
3 : "Middle",
4 : "Middle",
5 : "High",
6 : "High"}
##########
[選択肢]
1. df["Grade"] = GetGrade(df["School Year"])
2. df["Grade"] = df["School Year"].map(lambda x : GetGrade(x))
3. df["Grade"] = df["School Year"].map(GetGrade)
4. df["Grade"] = df["School Year"].apply(GetGrade(x))