字符串类型数据预处理的一个简单小方法

今天开始试着去做kaggle上的入门竞赛House Prices,因为数据集有81列,即81个特征,一列一列处理数据很头疼,于是想自己写几个方法
先写了一个简单的,可以自动把字符串类型的特征按数字顺序编码,如果数据中含有NAN或空元素就填入0,方便之后的处理
写出来之后发现运行效率很低,处理一列需要十秒,更头疼了……
还有就是弹出了SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame,是因为链式运算的问题,现在还不理解,先马一下。

def com(column):
    a = train[column].value_counts().index
    if train.isnull().any()[column]==True:
        train[column] = train[column].fillna(0)
    for i in range(0, train.shape[0]):
        if train[column][i] != 0:
            train[column][i] = list(a).index(train[column][i]) + 1

在这里插入图片描述
Neighborhood这列按如下编码:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Ramer42/article/details/83242467