Вы можете довольно легко построить словарь, перечисляя набор связанных компонентов с помощью enumerate
и создавая dict
из кортежей:
s = {'John Doe' , 'James Doe'}, {'Jack Fisher', 'Adam Scott', 'Jane Matters'}
dict(enumerate(s))
# {0: {'James Doe', 'John Doe'},
# 1: {'Adam Scott', 'Jack Fisher', 'Jane Matters'}}
Для pd.DataFrame
вы можете использовать понимание словаря следующим образом:
d = {name:k for k,comp in enumerate(s) for name in comp}
(pd.DataFrame.from_dict(d, orient='index', columns=['component'])
.rename_axis('name')
.reset_index())
name component
0 James Doe 0
1 John Doe 0
2 Jane Matters 1
3 Adam Scott 1
4 Jack Fisher 1