1、使用loc,作用切片的子集。
df2 = df.loc[:, ['A']]
df2['A'] /= 2 # Does not raise
2、更改pd.options.mode.chained_assignment。可以设置为None,"warn"或"raise"。
"warn"是默认值。
None将完全抑制警告,并"raise"抛出SettingWithCopyError,阻止操作通过。
pd.options.mode.chained_assignment = None
df2['A'] /= 2
3、做一个 deepcopy。
df2 = df[['A']].copy(deep=True)
df2['A'] /= 2
以上就是python消除抑制警告的方法,希望对大家有所帮助
本文介绍了在Python中处理DataFrame时如何避免设置警告。方法包括使用`df.loc`选择子集,修改`pd.options.mode.chained_assignment`为None以抑制警告,以及创建DataFrame的深拷贝来安全地进行操作。这些技巧对于防止SettingWithCopyWarning和确保代码稳健性至关重要。
4万+

被折叠的 条评论
为什么被折叠?



