Python 熊猫提取列的子字符串并放入同一列

Python 熊猫提取列的子字符串并放入同一列,python,pandas,replace,Python,Pandas,Replace,我有以下专栏: C-042-00000017276 F-099-00000201997 F-98-204009 我希望这个专栏是: C-42-17276 F-99-201997 F-98-204009 我知道如何通过正则表达式提取数据,我可以通过行迭代来解决它,但我想做得更多: 我正在尝试提取符号之间字符串的一对数字 df['column'] = df['column'].str.replace(r'-.*',df['column'].str.extract(r'(-.*-)',expand

我有以下专栏:

C-042-00000017276
F-099-00000201997
F-98-204009
我希望这个专栏是:

C-42-17276
F-99-201997
F-98-204009
我知道如何通过正则表达式提取数据,我可以通过行迭代来解决它,但我想做得更多:

我正在尝试提取符号之间字符串的一对数字

df['column'] = df['column'].str.replace(r'-.*',df['column'].str.extract(r'(-.*-)',expand=False).str.replace('-','').str.lstrip('0'))
但我得到:

TypeError("repl must be a string or callable")

对此有什么建议吗?

我们可以使用
Series.str.replace
将其替换为
正向查找


基本上我们想要的是替换一个或多个零(
0+
),如果它前面有一个破折号
(?请提供完整的错误消息,以及一个。我知道如何通过正则表达式提取数据,我可以通过行迭代解决它,但我想做得更多。我不认为在这里使用正则表达式会很不方便,特别是因为pandas提供了一些方便的方法来处理它们。
df['column'] = df['column'].str.replace('(?<=-)0+', '')

        column
0   C-42-17276
1  F-99-201997
2  F-98-204009