如何在python中为分类数据输入空值?

如何在python中为分类数据输入空值?,python,scikit-learn,data-science,imputation,Python,Scikit Learn,Data Science,Imputation,我在R中看到,分类数据的插补是通过DMwR、Caret等包直接完成的,而且我也有KNN或CentralImputation等算法选项。但是我没有看到python中的任何库也这样做。FancyComputer在数字数据上表现良好 有没有一种方法可以在python中为分类数据插补空值 编辑:添加数据集顶部的几行 >>> data_set.head() 1stFlrSF 2ndFlrSF 3SsnPorch Alley BedroomAbvGr BldgT

我在R中看到,分类数据的插补是通过DMwR、Caret等包直接完成的,而且我也有
KNN
CentralImputation
等算法选项。但是我没有看到python中的任何库也这样做。FancyComputer在数字数据上表现良好

有没有一种方法可以在python中为分类数据插补空值

编辑:添加数据集顶部的几行

    >>> data_set.head()
       1stFlrSF  2ndFlrSF  3SsnPorch Alley  BedroomAbvGr BldgType BsmtCond  \
    0       856       854          0   NaN             3     1Fam       TA   
    1      1262         0          0   NaN             3     1Fam       TA   
    2       920       866          0   NaN             3     1Fam       TA   
    3       961       756          0   NaN             3     1Fam       Gd   
    4      1145      1053          0   NaN             4     1Fam       TA   

      BsmtExposure  BsmtFinSF1  BsmtFinSF2  ...   SaleType ScreenPorch  Street  \
    0           No       706.0         0.0  ...         WD           0    Pave   
    1           Gd       978.0         0.0  ...         WD           0    Pave   
    2           Mn       486.0         0.0  ...         WD           0    Pave   
    3           No       216.0         0.0  ...         WD           0    Pave   
    4           Av       655.0         0.0  ...         WD           0    Pave   

       TotRmsAbvGrd TotalBsmtSF  Utilities WoodDeckSF YearBuilt YearRemodAdd  \
    0             8       856.0     AllPub          0      2003         2003   
    1             6      1262.0     AllPub        298      1976         1976   
    2             6       920.0     AllPub          0      2001         2002   
    3             7       756.0     AllPub          0      1915         1970   
    4             9      1145.0     AllPub        192      2000         2000   

      YrSold  
    0   2008  
    1   2007  
    2   2008  
    3   2006  
    4   2008  

    [5 rows x 81 columns]

处理缺失值的方法很少。据我所知,您希望按照特定规则填写NaN。可以使用熊猫。下面的代码是如何用最频繁的值填充分类NaN的示例

df['Alley'].fillna(value=df['MSZoning'].value_counts().index[0],inplace =True)
这也会对我有所帮助

有关熊猫的更多信息,请访问fillna


希望这能起作用

处理缺失值的方法很少。据我所知,您希望按照特定规则填写NaN。可以使用熊猫。下面的代码是如何用最频繁的值填充分类NaN的示例

df['Alley'].fillna(value=df['MSZoning'].value_counts().index[0],inplace =True)
这也会对我有所帮助

有关熊猫的更多信息,请访问fillna


希望这能奏效

你在用熊猫吗?你能提供一个吗?@pault,是的,我使用的是熊猫,数据集是一个数据帧。我目前正在使用波士顿住房数据集。您想要的输出是什么?@pault,想要的输出是无空值的数据集。FancyComputer对数值列的插补是指/中值插补、Knn插补等,但我找不到任何用于插补分类数据中的空值的库。您想用什么来插补空值?最常使用的值?是否使用熊猫?你能提供一个吗?@pault,是的,我使用的是熊猫,数据集是一个数据帧。我目前正在使用波士顿住房数据集。您想要的输出是什么?@pault,想要的输出是无空值的数据集。FancyComputer对数值列的插补是指/中值插补、Knn插补等,但我找不到任何用于插补分类数据中的空值的库。您想用什么来插补空值?最频繁的值?