python - python中的缺失值插补

标签 python pandas scikit-learn data-science

在我的数据集上应用 Imputer.fit_transform() 后,我丢失了转换数据框上的列名。有没有办法在不丢失列名的情况下估算它?

最佳答案

正如我在对该问题的评论中所说,只需将数据框中的值替换(重新分配)为从 Imputer 返回的数据。

假设这是您的数据框:

import numpy as np
import pandas as pd

df = pd.DataFrame(data=[[1,2,3], 
                        [3,4,4],
                        [3,5,np.nan], 
                        [6,7,8],
                        [3,np.nan,1]],
                  columns=['A', 'B', 'C'])

当前df:

   A    B    C
0  1  2.0  3.0
1  3  4.0  4.0
2  3  5.0  NaN
3  6  7.0  8.0
4  3  NaN  1.0

如果您要将整个 df 发送到 Imputer,只需使用:

df[df.columns] = Imputer().fit_transform(df)

如果您只发送某些列,则仅使用这些列来分配结果:

columns_to_impute = ['B', 'C']
df[columns_to_impute] = Imputer().fit_transform(df[columns_to_impute])

输出:

     A    B    C
0  1.0  2.0  3.0
1  3.0  4.0  4.0
2  3.0  5.0  4.0
3  6.0  7.0  8.0
4  3.0  4.5  1.0

关于python - python中的缺失值插补,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47689825/

相关文章:

python - 如何从 pandas 数据框中获取同一行(前一列)的前一个值?

python - 人口平衡分层随机抽样

python - 在这种情况下如何使用Python中的过滤器来过滤字典?

python - 为什么使用 Smooth 会导致 Python 崩溃?

python - 当有很多选择时如何提高我的 pandas 效率

python - 当语法(即 PURPLE 或 PURPAL)错误时,如何对 csv 文件中的颜色(蓝色、绿色、紫色、红色)进行分组?

python - 在 sklearn 回归中,是否有返回所有记录残差的命令?

python - 在 sklearn 中拟合多项式回归曲线时遇到问题

python - 有没有办法在 pyparsing 结果中获取嵌套字典?

python - 无法使用 Tkinter 打印出 "event.char"