【问题标题】:Pandas explode creates row with empty cell熊猫爆炸用空单元格创建行
【发布时间】:2021-04-28 14:33:30
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

  • 那是因为当你拆分你的字符串时,列表看起来像[, word1 , word2]

标签: python pandas split explode


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-08-03
    • 2021-04-06
    • 2022-01-27
    • 2019-01-15
    • 2019-12-20
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    • 2018-06-20
    相关资源
    最近更新 更多