sam*_*i97 2 python scikit-learn imputation
有没有办法让 Scikit-learn Imputer 查找并替换多个被视为“缺失值”的值?
\n例如,我想做类似的事情
\nimp = Imputer(missing_values=(7,8,9))\nRun Code Online (Sandbox Code Playgroud)\n但根据文档,missing_values参数只接受单个整数:
\n\n\nMissing_values :整数或 \xe2\x80\x9cNaN\xe2\x80\x9d,可选(默认=\xe2\x80\x9dNaN\xe2\x80\x9d)
\n缺失值的占位符。所有出现的丢失值都将被估算。对于编码为 np.nan 的缺失值,请使用字符串值 \xe2\x80\x9cNaN\xe2\x80\x9d。
\n
为什么不在原始数据集中手动执行此操作?假设您正在使用,pd.DataFrame您可以执行以下操作:
import numpy as np
import pandas as pd
from sklearn.preprocessing import Imputer
df = pd.DataFrame({'A': [1, 2, 3, 8], 'B': [1, 2, 5, 3]})
df_new = df.replace([1, 2], np.nan)
df_imp = Imputer().fit_transform(df_new)
Run Code Online (Sandbox Code Playgroud)
这导致df_imp:
array([[ 5.5, 4. ],
[ 5.5, 4. ],
[ 3. , 5. ],
[ 8. , 3. ]])
Run Code Online (Sandbox Code Playgroud)
如果您想使其成为管道的一部分,您只需要实现具有类似逻辑的自定义转换器。
| 归档时间: |
|
| 查看次数: |
1762 次 |
| 最近记录: |