Project Icon

name-dataset

跨国姓名数据库提供全面的名字和姓氏信息分析

names-dataset是一个大型姓名数据库项目,涵盖105个国家的730K个名字和983K个姓氏。项目提供姓名的流行度、国家分布和性别信息,支持多语言和多地区查询。用户可借此了解特定姓名在不同国家的使用情况,有助于人名分析和跨文化研究。该项目为姓名研究提供了丰富的数据资源,包括姓名的流行度排名、地理分布和性别关联。通过简单的Python接口,研究人员和开发者可以轻松获取和分析这些信息,为人名学、人口统计学和社会学研究提供数据支持。数据基于Facebook用户信息。

姓名数据库

下载量 每月下载量

要下载原始CSV数据进行分析,请浏览这里

这个Python库提供了关于姓名的信息:

  • 流行度(排名)
  • 国家(支持105个国家)
  • 性别

它可以回答以下一些问题:

  • Zoe是谁?可能是女性,英国
  • 认识Philippe吗?可能是男性,法国。那么拼写为Philipp呢?男性,德国
  • Nikki呢?可能是女性,美国

组成

73万个名字和98.3万个姓氏,提取自Facebook大规模数据泄露(5.33亿用户)

安装

可在*PyPI*上获取:

pip install names-dataset

使用

注意:该库需要3.2GB的RAM来加载完整数据集到内存中。请确保有足够的RAM以避免内存错误

安装后,运行以下命令来熟悉该库:

from names_dataset import NameDataset, NameWrapper

# 由于数据库庞大,库初始化需要一些时间。建议在应用程序启动过程中包含其初始化。
nd = NameDataset()

print(NameWrapper(nd.search('Philippe')).describe)
# 男性,法国

print(NameWrapper(nd.search('Zoe')).describe)
# 女性,英国

print(nd.search('Walter'))
# {'first_name': {'country': {'Argentina': 0.062, 'Austria': 0.037, 'Bolivia, Plurinational State of': 0.042, 'Colombia': 0.096, 'Germany': 0.044, 'Italy': 0.295, 'Peru': 0.185, 'United States': 0.159, 'Uruguay': 0.036, 'South Africa': 0.043}, 'gender': {'Female': 0.007, 'Male': 0.993}, 'rank': {'Argentina': 37, 'Austria': 34, 'Bolivia, Plurinational State of': 67, 'Colombia': 250, 'Germany': 214, 'Italy': 193, 'Peru': 27, 'United States': 317, 'Uruguay': 44, 'South Africa': 388}}, 'last_name': {'country': {'Austria': 0.036, 'Brazil': 0.039, 'Switzerland': 0.032, 'Germany': 0.299, 'France': 0.121, 'United Kingdom': 0.048, 'Italy': 0.09, 'Nigeria': 0.078, 'United States': 0.172, 'South Africa': 0.085}, 'gender': {}, 'rank': {'Austria': 106, 'Brazil': 805, 'Switzerland': 140, 'Germany': 39, 'France': 625, 'United Kingdom': 1823, 'Italy': 3564, 'Nigeria': 926, 'United States': 1210, 'South Africa': 1169}}}

print(nd.search('White'))
# {'first_name': {'country': {'United Arab Emirates': 0.044, 'Egypt': 0.294, 'France': 0.061, 'Hong Kong': 0.05, 'Iraq': 0.094, 'Italy': 0.117, 'Malaysia': 0.133, 'Saudi Arabia': 0.089, 'Taiwan, Province of China': 0.044, 'United States': 0.072}, 'gender': {'Female': 0.519, 'Male': 0.481}, 'rank': {'Taiwan, Province of China': 6940, 'United Arab Emirates': None, 'Egypt': None, 'France': None, 'Hong Kong': None, 'Iraq': None, 'Italy': None, 'Malaysia': None, 'Saudi Arabia': None, 'United States': None}}, 'last_name': {'country': {'Canada': 0.035, 'France': 0.016, 'United Kingdom': 0.296, 'Ireland': 0.028, 'Iraq': 0.016, 'Italy': 0.02, 'Jamaica': 0.017, 'Nigeria': 0.031, 'United States': 0.5, 'South Africa': 0.04}, 'gender': {}, 'rank': {'Canada': 46, 'France': 1041, 'United Kingdom': 18, 'Ireland': 66, 'Iraq': 1307, 'Italy': 2778, 'Jamaica': 35, 'Nigeria': 425, 'United States': 47, 'South Africa': 416}}}

print(nd.search('محمد'))
# {'first_name': {'country': {'Algeria': 0.018, 'Egypt': 0.441, 'Iraq': 0.12, 'Jordan': 0.027, 'Libya': 0.035, 'Saudi Arabia': 0.154, 'Sudan': 0.07, 'Syrian Arab Republic': 0.062, 'Turkey': 0.022, 'Yemen': 0.051}, 'gender': {'Female': 0.035, 'Male': 0.965}, 'rank': {'Algeria': 4, 'Egypt': 1, 'Iraq': 2, 'Jordan': 1, 'Libya': 1, 'Saudi Arabia': 1, 'Sudan': 1, 'Syrian Arab Republic': 1, 'Turkey': 18, 'Yemen': 1}}, 'last_name': {'country': {'Egypt': 0.453, 'Iraq': 0.096, 'Jordan': 0.015, 'Libya': 0.043, 'Palestine, State of': 0.016, 'Saudi Arabia': 0.118, 'Sudan': 0.146, 'Syrian Arab Republic': 0.058, 'Turkey': 0.017, 'Yemen': 0.037}, 'gender': {}, 'rank': {'Egypt': 2, 'Iraq': 3, 'Jordan': 1, 'Libya': 1, 'Palestine, State of': 1, 'Saudi Arabia': 3, 'Sudan': 1, 'Syrian Arab Republic': 2, 'Turkey': 44, 'Yemen': 1}}}

print(nd.get_top_names(n=10, gender='Male', country_alpha2='US'))
# {'US': {'M': ['Jose', 'David', 'Michael', 'John', 'Juan', 'Carlos', 'Luis', 'Chris', 'Alex', 'Daniel']}}

print(nd.get_top_names(n=5, country_alpha2='ES'))
# {'ES': {'M': ['Jose', 'Antonio', 'Juan', 'Manuel', 'David'], 'F': ['Maria', 'Ana', 'Carmen', 'Laura', 'Isabel']}}

print(nd.get_country_codes(alpha_2=True))
# ['AE', 'AF', 'AL', 'AO', 'AR', 'AT', 'AZ', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BN', 'BO', 'BR', 'BW', 'CA', 'CH', 'CL', 'CM', 'CN', 'CO', 'CR', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DZ', 'EC', 'EE', 'EG', 'ES', 'ET', 'FI', 'FJ', 'FR', 'GB', 'GE', 'GH', 'GR', 'GT', 'HK', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IN', 'IQ', 'IR', 'IS', 'IT', 'JM', 'JO', 'JP', 'KH', 'KR', 'KW', 'KZ', 'LB', 'LT', 'LU', 'LY', 'MA', 'MD', 'MO', 'MT', 'MU', 'MV', 'MX', 'MY', 'NA', 'NG', 'NL', 'NO', 'OM', 'PA', 'PE', 'PH', 'PL', 'PR', 'PS', 'PT', 'QA', 'RS', 'RU', 'SA', 'SD', 'SE', 'SG', 'SI', 'SV', 'SY', 'TM', 'TN', 'TR', 'TW', 'US', 'UY', 'YE', 'ZA']

nd.first_names
# 包含所有名字及其属性的字典。

nd.last_names
# 包含所有姓氏及其属性的字典。

API

search调用提供以下信息:

  • country:名字属于某个国家的概率。仅返回与该名字匹配度最高的前10个国家。

  • gender:此人为男性女性的概率。

  • rank:该名字在其国家的排名。1表示最流行的名字。

  • 注意first_name/last_namegender不适用于last_name

get_top_names调用返回最受欢迎的名字:

  • n:返回符合某些条件的名字数量。默认为100。
  • gender:筛选男性女性。默认为None(返回两者)。
  • use_first_names:筛选名字或姓氏。默认为True。
  • country_alpha2:按国家筛选(例如,GB代表英国)。默认为None(返回所有国家)。

get_country_codes返回支持的国家代码(或完整的pycountry对象)。

  • alpha_2:仅返回国家代码:2个字符的代码。默认为False。

完整数据集

数据集可在此处获取:name_dataset.zip (3.3GB)

image
  • 数据包含来自106个国家的491,655,925条记录。
  • 解压缩后的版本在磁盘上占用约10GB。
  • 每个国家都有一个单独的CSV文件。
  • CSV文件包含以下格式的行:名字,姓氏,性别,国家代码。
  • 每条记录代表一个真实的人。

许可证

  • 这个版本是从大规模 Facebook 泄露事件(涉及 5.33 亿账户)中生成的。
  • 一般来说,姓名列表不受版权保护,但如果你想完全确定,应该咨询律师。

国家

阿富汗、阿尔巴尼亚、阿尔及利亚、安哥拉、阿根廷、奥地利、阿塞拜疆、巴林、孟加拉国、比利时、玻利维亚多民族国、博茨瓦纳、巴西、文莱达鲁萨兰国、保加利亚、布基纳法索、布隆迪、柬埔寨、喀麦隆、加拿大、智利、中国、哥伦比亚、哥斯达黎加、克罗地亚、塞浦路斯、捷克、丹麦、吉布提、厄瓜多尔、埃及、萨尔瓦多、爱沙尼亚、埃塞俄比亚、斐济、芬兰、法国、格鲁吉亚、德国、加纳、希腊、危地马拉、海地、洪都拉斯、中国香港、匈牙利、冰岛、印度、印度尼西亚、伊朗伊斯兰共和国、伊拉克、爱尔兰、以色列、意大利、牙买加、日本、约旦、哈萨克斯坦、大韩民国、科威特、黎巴嫩、利比亚、立陶宛、卢森堡、中国澳门、马来西亚、马尔代夫、马耳他、毛里求斯、墨西哥、摩尔多瓦共和国、摩洛哥、纳米比亚、荷兰、尼日利亚、挪威、阿曼、巴勒斯坦国、巴拿马、秘鲁、菲律宾、波兰、葡萄牙、波多黎各、卡塔尔、俄罗斯联邦、沙特阿拉伯、塞尔维亚、新加坡、斯洛文尼亚、南非、西班牙、苏丹、瑞典、瑞士、阿拉伯叙利亚共和国、中国台湾省、突尼斯、土耳其、土库曼斯坦、阿拉伯联合酋长国、英国、美国、乌拉圭、也门。

🇲🇹🇪🇬🇧🇴🇳🇦🇹🇳🇷🇸🇯🇲🇦🇷🇯🇵🇰🇿🇸🇦🇺🇸🇦🇪🇭🇺🇭🇰🇶🇦🇸🇬🇩🇪🇾🇪🇲🇾🇭🇹🇵🇷🇨🇳🇦🇴🇹🇼🇸🇩🇧🇭🇧🇪🇪🇹🇪🇪🇨🇴🇬🇷🇧🇷🇷🇺🇱🇾🇸🇻🇰🇼🇰🇷🇦🇱🇸🇾🇧🇫🇨🇿🇨🇦🇴🇲🇩🇰🇨🇱🇧🇩🇧🇼🇫🇯🇮🇶🇮🇪🇿🇦🇨🇷🇯🇴🇰🇭🇵🇪🇺🇾🇮🇷🇲🇩🇫🇷🇲🇴🇳🇱🇬🇭🇨🇾🇩🇿🇮🇹🇬🇧🇧🇮🇮🇳🇫🇮🇦🇫🇵🇭🇦🇿🇬🇪🇨🇲🇮🇱🇪🇸🇱🇹🇩🇯🇬🇹🇱🇺🇵🇸🇹🇷🇵🇱🇮🇸🇳🇬🇵🇦🇭🇷🇸🇮🇭🇳🇦🇹🇲🇺🇸🇪🇲🇦🇨🇭🇧🇳🇲🇻🇳🇴🇪🇨🇮🇩🇧🇬🇵🇹🇲🇽🇱🇧🇹🇲

注意:遗憾的是,无法支持更多国家,因为原始数据集中未包含其他国家。

引用

@misc{NameDataset2021,
  author = {Philippe Remy},
  title = {Name Dataset},
  year = {2021},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/philipperemy/name-dataset}},
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号