Pandas删除字符出现后的字符串

-1 投票
1 回答
37 浏览
提问于 2025-04-14 16:52

我想要删除字符串中最后一个出现的连字符(-),而不影响其他不符合这个条件的字符串。

名称1 ID ID_拆分 ID_拆分2
FUH-V2 FUH07V2NUM
FUH-V2 FUHV2-DEN FUHV2 FUHV2
FUH-V2 FUH30V2NUM
df['ID'].str.split('-').str[:-1].str.join('-')

1 个回答

0

如果你的目标是去掉最后一个 -XXX(如果有的话),那么可以使用 str.replace 来实现:

df['out'] = df['ID'].str.replace(r'-[^-]*$', '', regex=True)

示例:

    Name1             ID ID_SPLIT ID_SPLIT2         out
0  FUH-V2     FUH07V2NUM     None      None  FUH07V2NUM
1  FUH-V2      FUHV2-DEN    FUHV2     FUHV2       FUHV2
2  FUH-V2     FUH30V2NUM     None      None  FUH30V2NUM
3  FUH-V2  FUHV2-FOO-DEN     None      None   FUHV2-FOO

正则表达式演示

撰写回答