我有一个包含两列的数据框,其中有成千上万的英语和西班牙语描述。我必须从相同项目的英语和西班牙语描述中提取数字,以确保在将描述从英语翻译为西班牙语时不会出现数字错误。
我能够使用下面的代码正确地提取和比较80%的描述,但是在正确提取和比较下面的行时遇到了麻烦
import pandas as pd
import re
list_US= []
for i in df['US English']:
list_US.append(re.findall(r'[0-9](?:\d{0,6})(?:,\d{3}|.\d{3})*(?:\.\d*[0-9])?|0?\.\d*[0-9]', str(i)))
list_LA = []
for i in df['LA Spanish']:
list_LA.append(re.findall(r'[0-9](?:\d{0,6})(?:,\d{3}|.\d{3})*(?:\.\d*[0-9])?|0?\.\d*[0-9]', str(i)))
data = pd.DataFrame([])
for i, j, k, l in zip(list_US,list_LA, df['US English'], df['LA Spanish']):
if i == j:
data = data.append(pd.DataFrame({'US English': k, 'LA Spanish': l, 'US Number Extract': str(i), 'LA Number Extract': str(j), 'Status': 'Correct'}, index=[0]),ignore_index=True)
else:
data = data.append(pd.DataFrame({'US English': k, 'LA Spanish': l, 'US Number Extract': str(i), 'LA Number Extract': str(j), 'Status': 'Please Review'}, index=[0]),ignore_index=True)
data.to_excel('extractv4.xlsx', encoding='utf-8-sig')
我不知道如何调整代码以使其将5.000和5K视为相同,并将2,5和2.5视为相同。任何帮助,将不胜感激。谢谢