📜  pd.explode (1)

📅  最后修改于: 2023-12-03 15:03:32.747000             🧑  作者: Mango

Pandas中的pd.explode函数

在Pandas中,pd.explode()函数能够将DataFrame中的列表、Series等数据类型展开成多行。pd.explode()可以应用在具有嵌套数据类型的DataFrame上,将其中的列表类型展开成多行,即将列表中的每一个元素都拿出来新开一行数据。

语法
pd.explode(column)

参数:

  • column:需要展开的列名(str类型)

返回值:

  • DataFrame
示例代码
import pandas as pd

data = {'A': [1, 2], 'B': [['a', 'b'], ['c', 'd']]}
df = pd.DataFrame(data)
print(df)

输出结果:

   A       B
0  1  [a, b]
1  2  [c, d]

使用pd.explode()函数将B列中的列表展开成多行:

df_explode = df.explode('B')
print(df_explode)

输出结果:

   A  B
0  1  a
0  1  b
1  2  c
1  2  d

以上代码中,先生成一个包含嵌套列表类型的DataFrame对象,然后使用pd.explode()函数将B列中的列表展开成多行,最后输出展开后的结果。

注意事项
  • pd.explode()函数返回的是展开后的DataFrame对象,原对象不会被直接修改。
  • 如果展开的列中有NaN值,则展开后的行数会减少(因为NaN不能展开成行)。