Моя разработка функций выполняется для разных документов. Для некоторых документов некоторые функции не существуют, и, следовательно, подсписок состоит только из таких же значений, как третий подсписок [0,0,0,0,0]
. Одно горячее кодирование этого подсписка приводит только к одному столбцу, тогда как списки функций других документов преобразуются в два столбца. Есть ли возможность указать ему также создать два столбца, если он состоит только из одного и того же значения, и вставить столбец в нужное место? Основная проблема заключается в том, что мой фреймворк данных для разных документов состоит в конце разного количества столбцов, что делает их несопоставимыми.
import pandas as pd
feature = [[0,0,1,0,0], [1,1,1,0,1], [0,0,0,0,0], [1,0,1,1,1], [1,1,0,1,1], [1,0,1,1,1], [0,1,0,0,0]]
df = pd.DataFrame(feature[0])
df_features_final = pd.get_dummies(df[0])
for feature in feature[1:]:
df = pd.DataFrame(feature)
df_enc = pd.get_dummies(df[0])
print(df_enc)
df_features_final = pd.concat([df_features_final, df_enc], axis = 1, join ='inner')
print(df_features_final)
Результатом является следующий фрейм данных. Как видно из изменяющихся заголовков столбцов, после столбца 5 не следует 1:
0 1 0 1 0 0 1 0 1 0 1 0 1
0 1 0 0 1 1 0 1 0 1 0 1 1 0
1 1 0 0 1 1 1 0 0 1 1 0 0 1
2 0 1 0 1 1 0 1 1 0 0 1 1 0
3 1 0 1 0 1 0 1 0 1 0 1 1 0
4 1 0 0 1 1 0 1 0 1 0 1 1 0