df1=pd.DataFrame({'a':[1,2,3],'b':[2,3,4]})
dfdata=df1[['a']]
dfdata['a']=0
print(dfdata)
报错:
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
有三种解决方法:
1,新建一个dataframe进行操作。
2,在复制dataframe的时候使用copy()方法。
df1=pd.DataFrame({'a':[1,2,3],'b':[2,3,4]})
dfdata=df1[['a']].copy()
dfdata['a']=0
print(dfdata)
3,使用.loc[]来赋值。
df1=pd.DataFrame({'a':[1,2,3],'b':[2,3,4]})
dfdata=df1[['a']]
dfdata.loc[:,'a']=0
print(dfdata)
posted on
浙公网安备 33010602011771号