Dataframe 不会在 for 循环中修改

Dataframe doesn't modify in a for loop

我有这个 for 循环,我想更改 df 的一部分的值。

for col in last_df:
    last_df.loc[last_df[col]!=0, col]='stop'
    stop=last_df[last_df[col]=='stop'][col].index[0]
    last_df[col].loc[:(stop-1)]='NaN' 

最后,last_df 没有修改,我收到的错误如下: A value is trying to be set on a copy of a slice from a DataFrame See the caveats in the documentation:....

尝试不使用 loc。

for col in last_df:
        last_df[last_df[col]!=0]='stop'
        stop=last_df[last_df[col]=='stop'][col].index[0]
        last_df[col][:(stop-1)]='NaN' 

这是 DataFrame 的视图和副本的问题,有关快速理解的更多信息,您可以阅读此 link