Отображение один в один из двух списков и формы данных - PullRequest
1 голос
/ 28 февраля 2020

У меня есть список элементов в двух списках:

list1 = [['a','b','c'],['a','d'],['a','f','c']]
list2 = [['S1','S2','S3'],['S1','S3'],['S1','S2','S3']]

Я хочу отобразить эти два списка в фрейме данных с указанным c способом, который, если значение присутствует в списке 1, он должен сделать запись во фрейме данных, иначе вывести ноль или 0

S1   S2   S3
a     b   c
a     0   d
a     f   c

Ответы [ 2 ]

1 голос
/ 28 февраля 2020

Просто объединить с пониманием списка:

(pd.concat([pd.DataFrame([a], columns=b) 
            for a,b in zip(list1,list2)],
          ignore_index=True)
   .fillna(0)
)

Вывод:

  S1 S2 S3
0  a  b  c
1  a  0  d
2  a  f  c
0 голосов
/ 28 февраля 2020

Zip списки, а затем элементы списков.

pd.DataFrame.from_records([dict(zip(*z)) for z in zip(list2, list1)]).fillna(0)

  S1 S2 S3
0  a  b  c
1  a  0  d
2  a  f  c
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...