Pandas删除字符出现后的字符串
我想要删除字符串中最后一个出现的连字符(-),而不影响其他不符合这个条件的字符串。
名称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