从嵌套列表的元组列表创建pandas数据帧

2024-04-23 08:18:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的数据,这是一个有4个元素的列表。这些元素是元组,其中的项是它们自己列出的。。。在

data = [(['a', 'b', 'c'],
  [1, 2, 3, 4, 5],
  ['aa', 'bb'],
  ['00', '03', '0000', '0006']),
 (['e', 'f', 'g'],
  [2, 1, 4, 4, 6],
  ['qq', 'er'],
  ['10', '04', '3340', '9009']),
 (['w', 'd', 'c'],
  [5, 6, 55, 1, 6],
  ['rr', 'rr'],
  ['55', '11', '6788', '7789']),
 (['l', 'a', 's'],
  [29, 2, 9, 4, 3],
  ['yy', 'uu'],
  ['33', '67', '0000', '0237'])]

我想把它转换成dataframe,把每个元素分解到dataframe的列中。例如;df = pd.DataFrame(data)

将生成一个包含四列的数据帧。我想要的是将每个列分解成数据帧的列,如下所示的红线。。。 enter image description here

也就是说,上面的dataframe将把每个列细分为组成单元格的项数。在


Tags: 数据元素dataframedf列表datarraa
1条回答
网友
1楼 · 发布于 2024-04-23 08:18:55

您可以展开嵌套的lists:

df = pd.DataFrame([[item for sublist in l for item in sublist] for l in data])
print (df)
  0  1  2   3   4   5   6   7   8   9   10  11    12    13
0  a  b  c   1   2   3   4   5  aa  bb  00  03  0000  0006
1  e  f  g   2   1   4   4   6  qq  er  10  04  3340  9009
2  w  d  c   5   6  55   1   6  rr  rr  55  11  6788  7789
3  l  a  s  29   2   9   4   3  yy  uu  33  67  0000  0237

计时

^{pr2}$

相关问题 更多 >