gpt4 book ai didi

python - Pandas 映射到新列 SettingWithCopyWarning

转载 作者:IT老高 更新时间:2023-10-28 21:13:56 24 4
gpt4 key购买 nike

在 pandas 数据框中,我正在尝试映射 df['old_column'],为每一行应用用户定义的函数 f 并创建一个新列。

df['new_column'] = df['old_column'].map(lambda x: f(x))

这将给出“SettingWithCopyWarning:试图在 DataFrame 中的切片副本上设置值。”错误。

我尝试了以下方法:

df.loc[:, 'new_column'] = df['old_column'].map(lambda x: f(x))

这没有帮助。我能做什么?

最佳答案

pandas 中的某些操作会引发 SettingWithCopy 警告,这些操作可能没有预期的结果,因为它们可能作用于副本而不是原始数据集。不幸的是,pandas 本身没有简单的方法来判断一个特定的调用是否会这样做,所以这个警告往往会在很多很多情况下被提出(从我的角度来看用户)实际上没有任何问题。

您的两个方法调用都很好。如果您想完全摆脱警告,您可以指定:

pd.options.mode.chained_assignment = None

this StackOverflow Q&A了解更多信息。

关于python - Pandas 映射到新列 SettingWithCopyWarning,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42105859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com