我将从一列中的数百行中获取美元金额,然后将金额保存到新列中。每行中的美元金额各不相同,例如$ 100.01,$ 1,000.05、10,000、100,000等。
其中一行如下所示:
批准X Y先生的和解要求,付款金额为$ 120,000.65
我试图做这样的事情,但它不是在提取美元金额:
df['amount'] = df['description'].str.extract('/(\$[0-9]+(\.[0-9]{2})?)/', expand=True)
请帮忙。
最佳答案
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
编辑:
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
关于python - 如何从 Pandas DataFrame列中提取美元金额,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51905346/