熊猫字符串正则表达式问题以提取多个数字

时间:2020-03-26 00:27:20

标签: python regex pandas

在以下问题中,如何使用正则表达式仅提取数字?

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方法。

1 个答案:

答案 0 :(得分:1)

为什么不只为正则表达式添加'\ d +'? 那谁应该给出正确的答案和

提取列表中某个项目的所有数字

就像sammywemmy所说的那样尝试:

df.A.str.extract(r'(\d+)')