Я хотел бы иметь возможность сделать одну горячую кодировку в кадре данных на основе уровней из другого фрейма данных. Например, в приведенном ниже примере данные содержат уровни для двух переменных. Исходя из этих уровней, я хочу создать фиктивные переменные в data2.Фиктивные переменные из уровней другого фрейма данных
Как я могу это сделать?
import pandas as pd
#unique levels (A,B for VAR1, and X,Y,Z for VAR2) in
#this dataset determine the possible levels for the following dataset
data = {'VAR1': ['A', 'A', 'A', 'A','B', 'B'],
'VAR2': ['X', 'Y', 'Y', 'Y','X', 'Z']}
frame = pd.DataFrame(data)
#data2 contains same variables as data, but might or might not
#contain same levels
data2 = {'VAR1': ['A', 'C'],
'VAR2': ['X', 'Y']}
frame2 = pd.DataFrame(data2)
#after applying one hot encoding to data2, this is what it should look like
data_final = {
'A': ['1', '0'],
'B': ['0', '0'],
'X': ['1', '0'],
'Y': ['0', '1'],
'Z': ['0', '0'],
}
frame_final = pd.DataFrame(data_final)
Спасибо, это помогло мне подумать о другом способе этого. – ADJ