【发布时间】:2016-12-05 19:54:50
【问题描述】:
我想要一个名为df 的 Pandas 数据框,它有一个 ID 列和一个列表列,其中包含可变数量的元组,所有元组的长度都相同。看起来像这样:
ID list
1 [(0,1,2,3),(1,2,3,4),(2,3,4,NaN)]
2 [(Nan,1,2,3),(9,2,3,4)]
3 [(Nan,1,2,3),(9,2,3,4),(A,b,9,c),($,*,k,0)]
我想将每个列表解压成列 'A','B','C','D' 代表每个元组中的固定位置。
结果应该是这样的:
ID A B C D
1 0 1 2 3
1 1 2 3 4
1 2 3 4 NaN
2 NaN 1 2 3
2 9 2 3 4
3 NaN 1 2 3
3 9 2 3 4
3 A b 9 c
3 $ * k 0
我尝试过df.apply(pd.Series(list) 但失败了,因为列表元素的len 在不同的行上是不同的。不知何故需要解压到列并按 ID 转置?
【问题讨论】:
标签: python pandas group-by iterable-unpacking