猿问

正则表达式:如何用空格/连字符(不包括数字)捕获单词?

我有一个看起来像这样的数据集:


Column1

-------

abcd - efghi 1234

aasdas - asdas 54321

asda-asd 2344

aasdas(asd) 5234

我希望能够将排除数字的所有内容拉出,因此它看起来像这样:


Column2

-------

abcd - efghi

aasdas - asdas

asda-asd

aasdas(asd)

这是我当前的正则表达式:


df['Column2'] = df['Column1'].str.extract('([A-Z]\w{0,})', expand=True)

但它只提取排除括号和连字符的第一个单词。任何帮助将不胜感激...谢谢!


回首忆惘然
浏览 121回答 2
2回答

宝慕林4294392

喜欢使用 replacedf.Column1.str.replace('\d+','')Out[775]: 0      abcd-efghi 1    aasdas-asdas 2        asda-asd 3     aasdas(asd) Name: Column1, dtype: object#df.Column1=df.Column1.str.replace('\d+','')

潇潇雨雨

只是删除数字会给您留下不需要的空格字符。这个列表推导式删除了所有数字并保留了空格字符,但在外面删除了它们。df['Column2'] = df['Column1'].apply(                   lambda x: ''.join([i for i in x if not i.isdigit()]).strip())
随时随地看视频慕课网APP

相关分类

Python
我要回答