Python 如何有效地将序列索引添加到一系列列表数组中的每个列表元素?

Python 如何有效地将序列索引添加到一系列列表数组中的每个列表元素?,python,pandas,series,Python,Pandas,Series,我有一系列2X1列表的数组,需要展平两次。Itertools.chain()将有效地执行此操作,但我希望保留序列索引信息 我尝试了一个非常基本的双循环来访问序列中的每个元素,但这被证明是非常低效的(我的数据集有大约1MM的列表)。有没有更有效的方法来实现这一点 样本系列: x = pd.Series([np.array([['a',1],[2,3]]), np.array([['b',4],[1,5],[7,9]]), np.array([['c',6],[7,8]])], name='x')

我有一系列2X1列表的数组,需要展平两次。Itertools.chain()将有效地执行此操作,但我希望保留序列索引信息

我尝试了一个非常基本的双循环来访问序列中的每个元素,但这被证明是非常低效的(我的数据集有大约1MM的列表)。有没有更有效的方法来实现这一点

样本系列:

x = pd.Series([np.array([['a',1],[2,3]]), np.array([['b',4],[1,5],[7,9]]), np.array([['c',6],[7,8]])], name='x')

y=[]
for i in range(len(x)): 
    for c in x[i]: 
        y.append([i,c])

Input Series: 
0            [[a, 1], [2, 3]]
1    [[b, 4], [1, 5], [7, 9]]
2            [[c, 6], [7, 8]]
Name: x, dtype: object

Expected Output: 
[[0, [a, 1]]], [0, [2, 3]], [1, [b, 4]], [1, [1, 5]], [1, [7, 9]], [2, [c, 6]], [2, [7, 8]]]```
您可以尝试以下方法:

[外]


好的,克里斯:)谢谢@Chris,列表理解总是让代码变得如此高效。
[[idx, v.tolist()] for idx, val in x.iteritems() for v in val]
[[0, ['a', '1']], [0, ['2', '3']], [1, ['b', '4']], [1, ['1', '5']], [1, ['7', '9']], [2, ['c', '6']], [2, ['7', '8']]]