【发布时间】:2018-07-23 05:06:30
【问题描述】:
我想在申请pandas.Series.str.replace 时使用正则表达式。我知道它需要正则表达式,但我的输出不符合预期。这是一个简单的例子。假设我有
ser = pd.Series(['asd3', 'qwe3', 'asd4', 'zxc'])
我想把'asd3' 和'asd4' 变成'asd'。也就是说,只需删除最后的任何整数。我正在使用代码:
ser.str.replace('asd([0-9])','')
请注意我正在使用([0-9]) 表示法,我将其解释为:对于该系列的任何元素,如果它看起来像'asd([0-9])',则将[0-9] 替换为``(即删除它) )。但我得到的是
0
1 qwe3
2
3 zxc
而我想得到的是:
0 asd
1 qwe3
2 asd
3 zxc
这是一个简单的例子,我的正则表达式字符串比这更难看,但我希望这能传达我打算做什么的想法。
【问题讨论】:
标签: regex string python-3.x pandas series