Питон, панды категоричные числа на нескольких столбцах и фреймах данных - PullRequest
0 голосов
/ 27 мая 2019

У меня есть несколько столбцов, которые содержат строковые коды, которые я хочу превратить в уникальные категориальные числа.Что мне нужно для машинного обучения, где строки не могут быть использованы напрямую.

Часть, которая делает мою проблему немного более сложной, состоит в том, что мой набор данных разделен на отдельные фреймы данных, которые я хочу сохранить в концеобработки отдельно.

В прошлом мне удавалось преодолеть проблему для случая одного столбца, где строковые коды были в одном столбце.Приведенный ниже код помог мне сделать это:

# merge the different data frames as one by using dict

    X=pd.concat(dict(enumerate([X_1, X_2, X_3, X_4, X_5, X_6, X_7, X_8, X_9, X_10])))
    X=X.loc[:, X.columns.str.startswith('var1')+X.columns.str.startswith('var2(t-1)')] #keep all the var1 variables(RSRP) and only the last one from the Geohashses var2(t-1)
        Geo_as_Category=pd.Series(X['var2(t-1)'], dtype="category") #turn Geohash to categorical
        X['GeohashFeature']=Geo_as_Category.cat.codes
        [X_1, X_2, X_3, X_4, X_5, X_6, X_7, X_8, X_9, X_10]=[d.xs(k) for k, d in X.groupby(level=0)]

, где диктат помог мне объединить различные фреймы данных в структуру, которая позже позволила бы мне также разделить их обратно.

Теперь моя проблема немного сложнее, так как строки кода разбиты на несколько столбцов, поэтому после объединения всех фреймов данных с


    X=pd.concat(dict(enumerate([X_1, X_2, X_3, X_4, X_5, X_6, X_7, X_8, X_9, X_10])))

мне нужен способ, чтобы учесть все столбцы для построения уникальногокоды, а не просто один столбец, как я делал здесь


    Geo_as_Category=pd.Series(X['var2(t-1)'], dtype="category") 
    X['GeohashFeature']=Geo_as_Category.cat.codes

Можете ли вы помочь мне придумать способ сделать это?

Большое спасибо, Алекс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...