这些警告是由于对 DataFrame 的切片进行了更改操作而引起的。在这种情况下,警告建议使用.loc[row_indexer,col_indexer] = value 来替代对切片进行更改操作。

警告是为了提醒您可能会修改原始数据的副本,而不是原始数据本身。在这些警告中,您可以看到使用.fillna() 方法来填充缺失值,并使用.map() 方法将分类变量映射为数值变量。这些操作修改了原始数据的副本,而不是原始数据本身。

要避免这些警告,您可以使用.loc[row_indexer,col_indexer] = value 语法来修改切片,以确保修改是在原始数据上进行的。例如,您可以使用以下代码来避免警告:

data_inicial.loc[:, 'age'] = data_inicial['age'].fillna(data_inicial['age'].mean())
data_inicial.loc[:, 'fare'] = data_inicial['fare'].fillna(data_inicial['fare'].mean())
data_inicial.loc[:, 'sex'] = data_inicial['sex'].map({'female': 0, 'male': 1}).astype(int)
data_inicial.loc[:, 'embarked'] = data_inicial['embarked'].fillna('S')
data_inicial.loc[:, 'embarked'] = data_inicial['embarked'].map({'C': 0, 'Q': 1, 'S': 2}).astype(int)

使用.loc[row_indexer,col_indexer] = value 语法,您可以确保对原始数据进行修改,而不是对副本进行修改,从而避免警告。

Pandas SettingWithCopyWarning: 避免修改数据副本的警告

原文地址: http://www.cveoy.top/t/topic/hcGs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录