2
我用下面的代碼在一個數據幀,以創建新列:Python的熊貓數據框警告仍然存在
# data is a dataframe object
data.loc[:,'test'] = 5
它帶有以下警告:
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'的行?您很可能在代碼中使用了鏈接索引,並且現在正在對該副本進行就地修改。 –
看到我在談論的一個例子[這裏](https://stackoverflow.com/questions/23296282/what-rules-does-pandas-use-to-generate-a-view-vs-a-copy )用查詢的例子 –
感謝您的洞察!實際上我發現我之前使用過鏈接索引。通過殺死這種鏈式索引問題,現在我的代碼運行良好。 –