【发布时间】:2019-10-10 15:30:47
【问题描述】:
我想将字符串系列提取到一个新系列中,该系列仅包含以原始系列数据的大写字母开头的字符串。
我之前在 pandas 系列中尝试过使用正则表达式,效果很好,所以我将其用作参考。下面的代码是我在当前问题中使用的代码。
harness['new'] = harness['Material'].str.extract('.*\-(.*)\-.*',expand=True)
下面的代码是我目前用来提取以大写字母开头的字符串
In [63]:
batch1['Wire Name'].head()
Out[63]:
0 2HC31A20
1 HC30A20
2 2HC42A20
3 2HC5H20
4 HC4M20
In [64]:
batch1['Grouping'] = batch1['Wire Name'].str.extract('^[A-Z].*',expand=True)
batch1['Grouping'].head()
Out [64]:
ValueError: pattern contains no capture groups
我希望结果是:
0 HC31A20
1 HC30A20
2 HC42A20
3 HC5H20
4 HC4M20
你觉得哪里不对?我已经检查了正则表达式页面和使用它的示例,但是当我使用上面的代码时它不起作用。
【问题讨论】:
标签: python regex pandas dataframe