在Pandas中将多个列表拆分为多行多列

edqdpe6u  于 2023-03-16  发布在  其他
关注(0)|答案(1)|浏览(141)

我在寻找转换这个矩阵的最佳方法

pd.DataFrame(data=[[1, [2, 3], [4, 5], [6, 7]], ['a', ['b', 'c'], ['d', 'e'], ['f', 'g']]])

变成这样

pd.DataFrame(data=[[ 1, 2, 4, 6], [1, 3, 5, 7], ['a', 'b', 'd', 'f'], ['a', 'c', 'e', 'g']])

列1、2、3可以具有更长的列表,但是每个定义具有相等的长度。
做这件事的最好方法是什么?

gr8qqesn

gr8qqesn1#

尝试使用pd.DataFrame.explode和列列表:

df.explode([1,2,3])

输出:

0  1  2  3
0  1  2  4  6
0  1  3  5  7
1  a  b  d  f
1  a  c  e  g

或者使用ignore_index=True

df.explode([1,2,3], ignore_index=True)

输出:

0  1  2  3
0  1  2  4  6
1  1  3  5  7
2  a  b  d  f
3  a  c  e  g

相关问题