Подтвердить что ты не робот

Легкий способ применения преобразования от `pandas.get_dummies` к новым данным?

Предположим, что у меня есть кадр данных data со строками, которые я хочу преобразовать в индикаторы. Я использую pandas.get_dummies(data), чтобы преобразовать это в набор данных, который теперь я могу использовать для построения модели.

Теперь у меня есть одно новое наблюдение, которое я хочу запустить через мою модель. Очевидно, я не могу использовать pandas.get_dummies(new_data), потому что он не содержит всех классов и не будет делать одинаковые матрицы индикаторов. Есть ли хороший способ сделать это?

4b9b3361

Ответ 1

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

import pandas as pd
df = pd.DataFrame({'cat':['a','b','c','d'],'val':[1,2,5,10]})
df1 = pd.get_dummies(pd.DataFrame({'cat':['a'],'val':[1]}))
dummies_frame = pd.get_dummies(df)
df1.reindex(columns = dummies_frame.columns, fill_value=0)

возвращает:

        val     cat_a   cat_b   cat_c   cat_d
  0     1       1       0       0       0