如何在 python 3 中删除此警告

Posted

技术标签:

【中文标题】如何在 python 3 中删除此警告【英文标题】:how to remove this warning in python 3 【发布时间】:2018-12-22 21:08:17 【问题描述】:

尝试使用 panda 在 python 3 中降低和剥离一列,但收到警告 - 正确的方法是什么,因此不会出现此警告

df["col1"] = df[["col1"]].apply(lambda x: x.str.strip())
df["col1"] = df[["col1"]].apply(lambda x: x.str.lower())

警告

A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  self[k1] = value[k2]

如何消除警告

【问题讨论】:

我猜df_rounds_clean 是另一个数据帧的子集? 您是否阅读了警告链接到的文档章节?问题是这实际上不适用于您的情况,所以您想禁止警告,还是它确实适用,所以您想知道如何解决它,或者您不理解它? Confusion re: pandas copy of slice of dataframe warning的可能重复 您是否按照警告中的说明进行操作? 【参考方案1】:

要消除此警告,请将其应用于系列而不是数据框。使用 df[["col1"]] 创建一个新的数据框,然后将其设置为列。如果您只是修改列就可以了。此外,我将两者链接在一起。

df["col1"] = df["col1"].str.strip().str.lower()

【讨论】:

以上是关于如何在 python 3 中删除此警告的主要内容,如果未能解决你的问题,请参考以下文章

如何删除此警告消息?

如何在 React 状态更新加载主屏幕时删除警告

在 C 中,如何修复此警告:格式“%s”需要“char *”类型的参数,但参数 3 的类型为“char (*)[100]

如何修复 Xcode 7.3 警告:`init` 已弃用:它将在 Swift 3 中删除:在序列上使用`enumerate()` 方法 [重复]

如何在linux中使用Python的警告对话框?

如何从 didRegisterForRemoteNotificationsWithDeviceToken 函数 ios swift 3 中删除几乎匹配的可选要求警告?