首页 > 解决方案 > 熊猫爆炸用空单元格创建行

问题描述

我是熊猫新手。我正在尝试将字符串拆分为多行。
我将其拆分为一个列表,然后尝试将其分解。当我分解一个列表时,我得到一行我不想要的空值。

df = df.assign(
    col_a=df["col_a"].str.split("X:")
).explode("col_a")
col_a                col_b        ...lots of columns with different things
X: word1 X: word2    a
X: word2 X: word3    b
X: word2             c

变成:

col_a                col_b        ...lots of columns with different things
                     a
X: word1             a
X: word2             a
                     b
X: word2             b
X: word3             b
                     c
X: word2             c

我想要类似的东西:

col_a                col_b        ...lots of columns with different things
word1                a
word2                a
word2                b
word3                b
word2                c

如何摆脱这些空单元格?我根本不想要那些行。

谢谢!

标签: pythonpandassplitexplode

解决方案


您可以尝试删除X:之前的开始split

df.assign(
  col_a = df.col_a.str.replace('^X: ', '').str.split(' X: ')
).explode('col_a')

#   col_a col_b
#0  word1     a
#0  word2     a
#1  word2     b
#1  word3     b
#2  word2     c

推荐阅读