sample_real_state = pd.read_csv('Sample_real_estate_data.csv',na_values = Missing_val) 样本真实状态 计数 = 0 对于sample_real_state["OWN_OCCUPIED"]中的行: 尝试: 整数(行) Sample_real_state.loc[count,'OWN_OCCUPIED'] = np.nan 除了值错误: 经过 计数+=1
从 sklearn.impute 导入 SimpleImputer imp_mean = SimpleImputer(missing_values='NaN', Strategy='mean',fill_value="在家工作") imp_mean = imp_mean.fit(sample_real_state)
e 数据你好,我正在尝试转换数据类型,因为
“ValueError:无法对非数字数据使用均值策略: 无法将字符串转换为浮点数:'PUTNAM'"
显示这种类型的错误,即使尝试转换它但不起作用,请帮助我解决此问题
嗨👋🏻首先,如果不格式化,很难理解你的代码片段。出现此异常是因为您的列包含字符串类型值。您无法使用
mean
进行插补,因为 mean
插补仅适用于数字数据。
看起来
sklearn
支持字符串值的唯一插补策略是 most_frequent
。如果这是您想要的行为,您可以使用它:
imp = SimpleImputer(missing_values="NaN", strategy="most_frequent", fill_value=None)
另一种选择是用常量值填充所有这些 NaN 值:
imp = SimpleImputer(missing_values="NaN", strategy="constant", fill_value="<your_value>")
此外,您始终可以使用
pandas
来填充列级别上的缺失值:
data["<string_type_col>"] = data["<string_type_col>"].fillna("<your_value>")
data["<float_type_col>"] = data["<float_type_col>"].fillna(data["<float_type_col>"].mean())