У меня есть ниже набор данных pandas:
set_id
A,B
A,C,E
A
Желаемый результат:
set_id set_id_1 set_id_2 set_id_3
A,B A B null
A,C,E A C E
A A null null
set_id может иметь n значений.Предположим, что максимальное число значений в set_id равно 100, у меня должно быть 100 новых столбцов
Я попытался использовать многолинейный бинаризатор
df1 = pd.DataFrame()
df1['set_id'] = df['set_id'].str.split(',')
from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
df1=df.join(pd.DataFrame(mlb.fit_transform(df['set_id']) ,columns=mlb.classes_,index=df.head(100).index))
Это создаст более 100K столбцов, так как у меня более 100Kуникальные записи