字串型別資料預處理的一個簡單小方法
阿新 • • 發佈:2018-11-02
今天開始試著去做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這列按如下編碼: