首页 > 解决方案 > 两个列表和表单数据框的一对一映射

问题描述

我在两个列表中列出了元素列表:

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

我想将这两个列表映射到一个数据框中,以一种特定的方式,如果列表 1 中存在该值,它应该在数据框中输入一个条目,否则打印 null 或 0

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

标签: pandaslistdataframe

解决方案


只需与列表理解连接:

(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

推荐阅读