2017-09-27 562 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 

会使它工作。

相关问题