【发布时间】:2020-08-17 13:28:43
【问题描述】:
当我运行以下代码段时,我得到了臭名昭著的熊猫 SettingWithCopyWarning:
for i in range(1, N):
if df['deltaPressure'][i] < CLUSTER_THRESHOLD:
df['Cluster'][i] = df['Cluster'][i-1]
else:
df['Cluster'][i] = df['Cluster'][i-1] + 1
我尝试通过添加 .copy() 来修复它,如下所示:
for i in range(1, N):
if df['deltaPressure'][i] < CLUSTER_THRESHOLD:
df['Cluster'][i] = df['Cluster'][i-1].copy()
else:
df['Cluster'][i] = df['Cluster'][i-1].copy() + 1
不幸的是,我对警告没有任何改变。大量的谷歌搜索和 StackOverflow 让我无法理解我的语法中的基本错误或我是如何无意中链接的。代码似乎运行正确,但我不想忽略错误消息,希望它们被证明是无关紧要的。
我将非常感激,无论是修复我的代码,还是简单解释为什么 .copy() 对我没有好处。
在此致以诚挚的谢意
托马斯·飞利浦
【问题讨论】: