【发布时间】:2020-07-08 18:41:55
【问题描述】:
我的 DF 有多个列。 其中两列是相同 len 的列表。(col2 和 col3 是列表。列表的 len 相同)。
我的目标是在自己的行上列出每个元素。
我可以使用df.explode()。但它只接受一列。但是,我希望这两列对“爆炸”。如果我先执行df.explode('col2'),然后执行df.explode('col3'),则结果为 9 行而不是 3 行。
原始DF
col0 col1 col2 col3
1 aa [1,2,3] [1.1,2.2,3.3]
2 bb [4,5,6] [4.4,5.5,6.6]
3 cc [7,8,9] [7.7,8.8,9.9]
3 cc [7,8,9] [7.7,8.8,9.9]
结束数据帧
id col1 col2 col3
1 aa 1 1.1
1 aa 2 2.2
1 aa 3 3.3
2 bb 4 4.4
2 bb 5 5.5
2 bb 6 6.6
3 cc ... ...
更新 所有列都没有唯一值,因此不能用作索引。
【问题讨论】:
-
可以在
here找到更好的答案。无需使用set_index和reset_index。