Qas*_*hin 5 python regex python-3.x pandas
我想从一列中的数百行中获取美元金额,然后将金额保存在新列中。每行的美元金额各不相同,例如 100.01 美元、1,000.05 美元、10,000 美元、100,000 美元等。
其中一行如下所示:
通过支付 120,000.65 美元批准 XY 先生的和解索赔
我试图做这样的事情,但它没有提取美元金额:
df['amount'] = df['description'].str.extract('/(\$[0-9]+(\.[0-9]{2})?)/', expand=True)
Run Code Online (Sandbox Code Playgroud)
请帮忙。
IIUC 需要:
df=pd.DataFrame({'description':['ss $100.01', 'dd $1,000.05',
'f 10,000', 'g 100,000',
'yr 4,120,000.65']})
df['amount'] = df['description'].str.extract('([0-9,.]+)')
print (df)
description amount
0 ss $100.01 100.01
1 dd $1,000.05 1,000.05
2 f 10,000 10,000
3 g 100,000 100,000
4 yr 4,120,000.65 4,120,000.65
Run Code Online (Sandbox Code Playgroud)
编辑:
df['amount1'] = df['description'].str.extract('(\$[0-9,.]+)')
df['amount2'] = df['description'].str.extract('\$([0-9,.]+)')
print (df)
description amount1 amount2
0 ss $100.01 $100.01 100.01
1 dd $1,000.05 $1,000.05 1,000.05
2 f 10,000 NaN NaN
3 g 100,000 NaN NaN
4 yr 4,120,000.65 NaN NaN
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
457 次 |
| 最近记录: |