Легкий способ применения преобразования от `pandas.get_dummies` к новым данным?
Предположим, что у меня есть кадр данных data
со строками, которые я хочу преобразовать в индикаторы. Я использую pandas.get_dummies(data)
, чтобы преобразовать это в набор данных, который теперь я могу использовать для построения модели.
Теперь у меня есть одно новое наблюдение, которое я хочу запустить через мою модель. Очевидно, я не могу использовать pandas.get_dummies(new_data)
, потому что он не содержит всех классов и не будет делать одинаковые матрицы индикаторов. Есть ли хороший способ сделать это?
Ответы
Ответ 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