Auto-ml的数据准备

问题描述

我正在为学校比赛制作一个自动ml程序。 我几乎完成了程序,只需要对数据进行一些预处理。 几天前,我遇到了一个无法解决的问题。

问题的实质:

有一种去除NaN的通用方法。但是我不能这样写,因为这种方式甚至用文本数据列也将所有NaN替换为零。此方法不适合我,因为将来我会使用LabelEncoder将文本数据编码为数字,但是如果文本和数字数据都在同一列中,则该方法将不起作用。因此,我需要确保在具有文本数据的列中,所有NaN均被替换为“零”,而在具有数据编号的列中,其所有零均被替换为零。我没有做到。我将我的无效代码附加到该问题上

# X - training and test data
# X_predict - prediction data
for i in list(X):
    for j in range(0,10):
        # For columns with text data
        if type(X.iloc[j][i]) is str:
            mapping = {np.NaN: 'Zero'}
            X[i] = X[i].replace(mapping)
            X_predict[i] = X_predict[i].replace(mapping)
        # For columns with float64
        if type(X.iloc[j][i]) is float:
            mapping = {np.NaN: 0}
            X[i] = X[i].replace(mapping)
            X_predict[i] = X_predict[i].replace(mapping)

由于某种原因,此代码将零插入带有文本数据的列中。 请告诉我如何实现此代码

感谢您的关注

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)