尝试通过函数添加列时出错

问题描述 投票:0回答:1

所以我正在尝试使用决策树的学生成绩预测数据集来练习我的技能。我试图根据最后 3 列 (G1,G2,G3) 的平均值来预测通过/失败,其中任何高于最高分数 (20) 70% 的内容都是通过,否则,学生会失败。

代码如下:

def define_grade(df):
    # Create a list to store the data
    grade = []

    # For each row in the column,
    for row in df['Gave']:
        if row >= (0.7 * df['Gave'].max()):
            grade.append("Pass")
        else: grade.append("Fail")   
    # Create a column from the list
    df['grade'] = grade
df.head()

我运行了一下,没有任何错误。然而,每次我检查时,我期待的新列“等级”都不会出现。请帮助我

谢谢你

我复制了对数据集发表评论的人的代码,就像他们之前所做的那样。我稍微更改了代码以适应我所做的事情。然而,我没有成功。请帮忙。

示例代码链接如下

https://www.kaggle.com/code/samuelmjoseph/student-grade-prediction-using-decisiontree

python machine-learning jupyter-notebook data-analysis decision-tree
1个回答
0
投票

你需要返回一些东西,这样函数就不是空的

用 return df 解决它

def define_grade(df):
    # Create a list to store the data
    grade = []

    # For each row in the column,
    for row in df['Gave']:
        if row >= (0.7 * df['Gave'].max()):
            grade.append("Pass")
        else: grade.append("Fail")   
    # Create a column from the list
    df['grade'] = grade
    return df ##################ADD THIS######################
df.head()
© www.soinside.com 2019 - 2024. All rights reserved.