2017-09-27 69 views
1

當我想執行以下命令(從其他問題中學習)時,會出現警告。如何避免此警告?將pandas數據框中的列從float轉換爲int

df['Class'] = df['Class'].astype(int) 

/home/ubuntu/src/anaconda3/lib/python3.5/site-packages/ipykernel/ 的.py:2:SettingWithCopyWarning: 的值是試圖要在副本設置來自DataFrame的切片。 嘗試使用的.loc [row_indexer,col_indexer] =值,而不是

查看文檔中的注意事項:從ipykernel進口kernelapp http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy 爲app

+0

看起來好像你的數據幀是從另一個數據幀中提取的。接受的答案會給你提出不好的建議。相反,你應該做的是使用'df = df.copy()'創建一個副本,然後完成任務。永遠不要在熊貓上禁用警告,他們在那裏是有原因的。 –

回答

1

你需要禁用鏈接作業。

# Disable chained assignments 
pd.options.mode.chained_assignment = None 

會使它工作。