建立了一个dataframe,想对其中已经存在的列重新赋值,原先输入的语句是
df_1['a']=list
将list值赋给df_1中的a列,却发现一直报错:
<input>:1: SettingWithCopyWarning:
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
让我用.loc尝试一下,于是输入了
df_1.loc[ : , 'a']=list
依旧出现相同的报错
找到了这篇(1条消息) Try using .loc[row_indexer,col_indexer] = value instead_Danker01的博客-CSDN博客
但是太长了,当时没耐心看下去,试着抄了一个句子改写了一下:
df_1=df_1.copy()
df_1.loc[ : , 'a']=list
这次没有再出现报错,赋值成功
后来发现不用.loc也可以:
df_1=df_1.copy()
df_1[ 'a']=list