在Python中使用Fancy Impute的MICE算法时出现TypeError

时间:2017-09-13 21:50:50

标签: python imputation fancyimpute

我试图填充数据集中缺少的数据,我的导师建议我使用Python中的Fancy Impute包,特别是MICE算法。 首先,当我读到关于MICE时,很明显,如果我的遗漏数据不是随机的,那么它是一个糟糕的选择(我怀疑,因为看起来错失的数据似乎更有可能出现在特定的国家/年份)。那么有人推荐不同的算法吗? (我的项目基于世界银行性别统计数据)。

技术问题: 我在我的数据框上运行了这段代码:

filled = MICE().complete(dfvars)

但是我得到了这个错误,我的导师不知道它是什么,我还没有找到任何其他论坛在python中讨论MICE:

TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

1 个答案:

答案 0 :(得分:2)

遇到错误,因为MICE仅用于计算数字数据,如果数据集包含分类数据但您希望计算数字数据,则应仅使用数据框的数字列。如果缺少分类数据,则必须使用不同的算法。