我有以下问题:我有一个pandas数据帧,其中缺少的值由字符串标记na.我想在它上面运行一个Imputer,用列中的平均值替换缺少的值.根据sklearn文档,参数missing_values应该帮助我:
missing_values:integer或"NaN",optional(default ="NaN")缺少值的占位符.所有出现的missing_values都将被估算.对于编码为np.nan的缺失值,请使用字符串值"NaN".
在我的理解中,这意味着,如果我写
df = pd.read_csv(filename)
imp = Imputer(missing_values='na')
imp.fit_transform(df)
Run Code Online (Sandbox Code Playgroud)
这意味着imputer用数据框的平均值替换数据框中的任何内容na.但是,我得到一个错误:
ValueError: could not convert string to float: na
Run Code Online (Sandbox Code Playgroud)
我误解了什么?这不是影像应该如何工作的吗?我怎样才能na用平均值替换字符串呢?我应该只使用lambda吗?
谢谢!