在以下问题中,如何使用正则表达式仅提取数字?
import numpy as np
import pandas as pd
df = pd.DataFrame({'A': ['< 1 year','1 year', '2 year', '10+ years',np.nan]})
df
df['A'].str.replace('< 1 year', '0').str.extract(r'.*(\d+).*')
0
年以来,我得到10
。如何获得正确答案。
注意:我正在寻找正则表达式方法,当然,我可以轻松地使用多个str.replace
方法。
答案 0 :(得分:1)
为什么不只为正则表达式添加'\ d +'? 那谁应该给出正确的答案和
提取列表中某个项目的所有数字
就像sammywemmy所说的那样尝试:
df.A.str.extract(r'(\d+)')