python - 如何在python中用两个不同的单词将两个名字拆分在一起
问题描述
我正在尝试拆分拼写错误的名字。它们中的大多数都连接在一起。我想知道是否有任何方法可以将两个在一起的名字分成两个不同的词。
例如,如果拼写错误的名称trujillohernandez
将被分隔为trujillo hernandez
.
我正在尝试创建一个函数,该函数可以对具有数千个拼写错误名称的整个列执行此操作,例如上面的示例。然而,我并没有成功。拼写检查库不起作用,因为这些是名字并且它们是西班牙裔名称。
如果您能帮助开发某种功能来实现它,我将不胜感激。
解决方案
如上面的评论中所述,没有可能的名称列表会导致问题。然而,也许并不完美,但提供一些尝试......
给定一个数据框示例,例如...
Name
0 sofíagomez
1 isabelladelgado
2 luisvazquez
3 juanhernandez
4 valentinatrujillo
5 camilagutierrez
6 joséramos
7 carlossantana
代码(Python):
import pandas as pd
import requests
# longest list of hispanic surnames I could find in a table
url = r'https://namecensus.com/data/hispanic.html'
# download the table into a frame and clean up the header
page = requests.get(url)
table = pd.read_html(page.text.replace('<br />',' '))
df = table[0]
df.columns = df.iloc[0]
df = df[1:]
# move the frame of surnames to a list
last_names = df['Last name / Surname'].tolist()
last_names = [each_string.lower() for each_string in last_names]
# create a test dataframe of joined firstnames and lastnames
data = {'Name' : ['sofíagomez', 'isabelladelgado', 'luisvazquez', 'juanhernandez', 'valentinatrujillo', 'camilagutierrez', 'joséramos', 'carlossantana']}
df = pd.DataFrame(data, columns=['Name'])
# create new columns for the matched names
lastname = '({})'.format('|'.join(last_names))
df['Firstname'] = df.Name.str.replace(str(lastname)+'$', '', regex=True).fillna('--not found--')
df['Lastname'] = df.Name.str.extract(str(lastname)+'$', expand=False).fillna('--not found--')
# output the dataframe
print('\n\n')
print(df)
输出:
Name Firstname Lastname
0 sofíagomez sofía gomez
1 isabelladelgado isabella delgado
2 luisvazquez luis vazquez
3 juanhernandez juan hernandez
4 valentinatrujillo valentina trujillo
5 camilagutierrez camila gutierrez
6 joséramos josé ramos
7 carlossantana carlos santana
可能需要进一步清理,但可能会导致大多数名称被拆分。
推荐阅读
- xslt - Saxonica EE Xslt 转换处理无限循环
- python - 如何使用包含多个 ROI 列表的 CV2 进行裁剪?
- java - 在以下情况下如何使用 HK2 依赖注入?
- deployment - 构建 svelte kit 项目和 [slug].json.js 时的问题
- javascript - 按字母顺序对数组的第一个元素进行排序,例如 - arr[name][image]?
- image-processing - 如何准确计算车速?使用视频
- java - 树莓派 java 上的 java 16:加载共享库时出错:libz.so.1:无法打开共享对象文件:没有这样的文件或目录
- styles - 有没有办法将样式保存为具有新样式的新代码?PINE 脚本交易视图
- qt - 更改按钮图标 SVG 颜色
- javascript - wordpress 'media_buttons' 钩子没有从 wp.editor.initialize() js 触发