explode - 数据展开

在线刷题

检查 or 强化 Pandas 数据分析操作?👉在线体验「Pandas进阶修炼300题」

Note

本页面代码可以在线编辑、执行

单列展开

有时我们的数据中会包含列表,此时便可使用 explode 进行展开,将一个list拆成多行。

例如,将 df5 第 A 列进行展开

import pandas as pd
import numpy as np
df5 = pd.DataFrame({'A': [[0, 1, 2], 'foo', [], [3, 4]],
                   'B': 1,
                   'C': [['a', 'b', 'c'], np.nan, [], ['d', 'e']]})
df5
A B C
0 [0, 1, 2] 1 [a, b, c]
1 foo 1 NaN
2 [] 1 []
3 [3, 4] 1 [d, e]
df5.explode('A')
A B C
0 0 1 [a, b, c]
0 1 1 [a, b, c]
0 2 1 [a, b, c]
1 foo 1 NaN
2 NaN 1 []
3 3 1 [d, e]
3 4 1 [d, e]

多列展开

将 df5 第 A、C 列进行展开

# pandas版本 >= 1.3 才可以完成
# df5.explode(list('AC')) 
On this page