【问题标题】:Data Analysis Pandas SettingWithCopyWarning数据分析 Pandas SettingWithCopyWarning
【发布时间】:2017-11-21 01:58:49
【问题描述】:
 numbers = LabelEncoder()
 State_Data['Quality'] = numbers.fit_transform(State_Data['Quality 
 Parameter'].astype('str'))

 this is generating the following error :

 /opt/conda/lib/python3.5/site-packages/ipykernel/__main__.py: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 但我也尝试过,但它也不起作用。 请告诉我如何解决这个问题?

【问题讨论】:

    标签: python python-3.x ipython jupyter-notebook data-analysis


    【解决方案1】:

    最好使用不同的变量来存储转换后的数据。您可以尝试以下代码来避免警告:

    transformed = numbers.fit_transform(State_Data['Quality Parameter'].astype('str'))
    
    State_Data['Quality_transformed'] = transformed
    

    使用这种方法,不仅可以帮助您避免警告,而且不会修改您的实际原始数据,修改原始数据有时会出现问题,因为如果在此过程中出现任何问题,您可能必须再次运行整个脚本。

    【讨论】: