首页 > 解决方案 > 从不同大小的列表创建数据框

问题描述

你能帮我找到一种从列表中创建数据框的方法吗?这是一个例子:

['E139', 'E216', 'E248', 'E111', 'E91', 'E245', 'E88']
['E102', 'E139', 'E216', 'E238', 'E186', 'E111', 'E91', 'E88']
['E256', 'E46', 'E232', 'E139', 'E37', 'E216', 'E235', 'E73', 'E91', 'E88']
['E230', 'E31', 'E198', 'E237', 'E233', 'E10', 'E120', 'E46', 'E82', 'E25', 'E164', 'E253', 'E104', 'E54', 'E18']

我想要以下输出:

['E139', 'E216', 'E248', 'E111', 'E91', 'E245', 'E88','NaN','NaN','NaN','NaN','NaN','NaN','NaN','NaN']
['E102', 'E139', 'E216', 'E238', 'E186', 'E111', 'E91', 'E88','NaN','NaN','NaN','NaN','NaN','NaN','NaN']
['E256', 'E46', 'E232', 'E139', 'E37', 'E216', 'E235', 'E73', 'E91', 'E88', 'NaN','NaN','NaN','NaN','NaN']
['E230', 'E31', 'E198', 'E237', 'E233', 'E10', 'E120', 'E46', 'E82', 'E25', 'E164','E253', 'E104', 'E54', 'E18']

在创建数据框之前。谢谢你的帮助

标签: pythondataframe

解决方案


试试这个:

a = {'E139', 'E216', 'E248', 'E111', 'E91', 'E245', 'E88'}
b = {'E102', 'E139', 'E216', 'E238', 'E186', 'E111', 'E91', 'E88'}
c = {'E256', 'E46', 'E232', 'E139', 'E37', 'E216', 'E235', 'E73', 'E91', 'E88'}
d = {'E230', 'E31', 'E198', 'E237', 'E233', 'E10', 'E120', 'E46', 'E82', 'E25', 'E164', 'E253', 'E104', 'E54', 'E18'}


df = pd.DataFrame([a,b,c,d])

如果您有dictionary格式,您可以尝试以下操作:

dict_ = dict({'key1' : ['E139', 'E216', 'E248', 'E111', 'E91', 'E245', 'E88'],
              'key2' : ['E102', 'E139', 'E216', 'E238', 'E186', 'E111', 'E91', 'E88'],
              'key3' : ['E256', 'E46', 'E232', 'E139', 'E37', 'E216', 'E235', 'E73', 'E91', 'E88'],
              'key4' : ['E230', 'E31', 'E198', 'E237', 'E233', 'E10', 'E120', 'E46', 'E82', 'E25', 'E164', 'E253', 'E104', 'E54', 'E18']
              })
df = pd.DataFrame(list(dict_.values()))

推荐阅读