У меня есть следующие списки:
vocab = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
list1 = ['a', 'b', 'c', 'd', 'e']
list2 = ['f', 'g', 'h', 'i', 'j']
Со следующим кодом я хотел бы получить кодировку, которая создает горячее кодирование для списка 1, но включает все элементы из vocab.
import pandas as pd
encoding1 = pd.get_dummies(data= list1, columns= vocab)
encoding2 = pd.get_dummies(data= list2, columns= vocab)
Я хочу вывод:
encoding1 = a b c d e f g h i j
1 1 0 0 0 0 0 0 0 0 0
2 0 1 0 0 0 0 0 0 0 0
3 0 0 1 0 0 0 0 0 0 0
4 0 0 0 1 0 0 0 0 0 0
5 0 0 0 0 1 0 0 0 0 0
encoding2 = a b c d e f g h i j
1 0 0 0 0 0 1 0 0 0 0
2 0 0 0 0 0 0 1 0 0 0
3 0 0 0 0 0 0 0 1 0 0
4 0 0 0 0 0 0 0 0 1 0
5 0 0 0 0 0 0 0 0 0 1
Однако я получаю вывод:
encoding1 = a b c d e
1 1 0 0 0 0
2 0 1 0 0 0
3 0 0 1 0 0
4 0 0 0 1 0
5 0 0 0 0 1
encoding2 = f g h i j
1 1 0 0 0 0
2 0 1 0 0 0
3 0 0 1 0 0
4 0 0 0 1 0
5 0 0 0 0 1
Что я могу сделать, чтобы получить желаемый вывод?