首页 > 解决方案 > 为什么简单的 .apply(...) 会产生 SettingWithCopyWarning?

问题描述

我无法理解为什么下面这段看似微不足道的 pandas 代码会产生SettingWithCopyWarning.

我有一个 DataFrame questions,其中包含(除其他外)一result列包含封闭问题列表的结果:“J”等于 1 分,“O”等于 0 分。我只是想将 J、O 和其他结果映射到零、一、无方案,并将结果存储在新列中:

def scoreMap(x):

    if x == "J":
        return 1
    elif x == "O":
        return 0
    else:
        return None

questions['closedCorrect'] = questions['result'].apply(scoreMap)

当我检查它们时,结果似乎是正确的,但警告让我怀疑。

谁能指出我是否在思考错误,或者为什么在这种情况下可以/应该忽略警告?

标签: pythonpandas

解决方案


推荐阅读