У меня есть набор индексов:
indices = (['1', '1.2', '2', '2.2', '3', '4'])
и набор данных, где первый элемент идентифицирует человека, второй раунд, а третий - индекс из набора индексов:
dataset = [['A', '1', '1'], ['A', '1', '1.2'], ['B', '1', '2'], ['C', '2', '3']]
Я хотел бы сформировать бинарный вектор, где для каждого человека и для каждого отдельного раунда индексы помечаются либо присутствующими (с 1), либо нет (с 0).
Желаемый результат будет примерно таким: где для A вектор представляет наличие индексов 1 и 1.2, для B - индекс 2, а для C - индекс 3. Обратите внимание, что для A существует только одна запись, но присутствуют 2 индекса.
['A', '1', '1, 1, 0, 0, 0, 0']
['B', '1', '0, 0, 1, 0, 0, 0']
['C', '2', '0, 0, 0, 0, 1, 0']
У меня возникли некоторые проблемы, связанные с циклом обработки индексов по набору данных.Моя идея состояла в том, чтобы циклически проходить через индексы, установленные столько же времени, сколько и количество списков в наборе данных.Но я не думаю, что это самый эффективный способ, и любая помощь будет признательна!