从嵌套元组列表构造一个 pandas 数据框

Construct a pandas dataframe from a list of nested tuples

我有一个元组列表,如下所示:

data = [('x', [('a', 1), ('b', 2), ('c', 3)]),
        ('y', [('d', 4), ('e', 5), ('f', 6)])]

我想构建一个如下所示的数据框:

A  B  C
x  a  1
x  b  2
x  c  3
y  d  4
y  e  5
y  f  6

我看了 and 但他们生产的不是我想要的。

您可以构造一个元组列表(包含行)并将其传递给 pd.DataFrame class(columns 参数为 ["A", "B", "C"]

>>> data = [
...     ("x", [("a", 1), ("b", 2), ("c", 3)]),
...     ("y", [("d", 4), ("e", 5), ("f", 6)]),
... ]
>>>
>>> import pandas as pd
>>>
>>> df = pd.DataFrame(
...     [(i, *k) for i, j in data for k in j],
...     columns=["A", "B", "C"],
... )
>>> print(df)
   A  B  C
0  x  a  1
1  x  b  2
2  x  c  3
3  y  d  4
4  y  e  5
5  y  f  6