关于熊猫SetWithCopyWarning的问题可能与你们习惯的问题略有不同。为了更好地促进我的理解,我一直在积极尝试生成此警告,但实际上遇到了麻烦...但是我偶然发现了两个有趣的代码块,我相信这两个代码块都应生成setwithcopy代码,但只有一个能做到:
创建数据框:
import numpy as np
import pandas as pd
np.random.seed(1000)
df = pd.DataFrame(np.random.randn(5,5))
以下代码将按预期生成SetWithCopyWarning:
df2=df.loc[:,:3]
df2.loc[0,0] = 99
这行代码只有一点点不同,并且不会生成SetWithCopyWarning:
df2=df.loc[:4,:3]
df2.loc[0,0] = 99
为什么仅将第一行.loc中的第一个索引项从“:”更改为“:4”才能生成SetWithCopyWarning?即使两者都拉所有标记为0-4的行?
进行了编辑,使我的代码更加弹出。