使用Python Faker库基于姓名字段生成合法邮箱并构造pandas数据集问询
解决方案
当然可以实现基于姓名生成关联的合法邮箱,你只需要先把生成的名和姓暂存为变量,再按照常用邮箱命名规则拼接,搭配Faker内置的域名生成方法即可,修改后的代码如下:
import pandas as pd import numpy as np from faker import Faker # 先初始化Faker实例 fake = Faker() def faker_categorical(num=1, seed=None): np.random.seed(seed) fake.seed_instance(seed) output = [] for x in range(num): gender = np.random.choice(["M", "F"], p=[0.5, 0.5]) # 先暂存姓名变量 first_name = fake.first_name_male() if gender=="M" else fake.first_name_female() last_name = fake.last_name() # 自定义邮箱格式,这里用「名.姓@免费域名」的常见格式,统一转小写符合邮箱使用习惯 email = f"{first_name.lower()}.{last_name.lower()}@{fake.free_email_domain()}" output.append( { "First name": first_name, "Last name": last_name, "E-mail": email, }) return output
可选调整规则
- 你可以根据需求调整邮箱命名规则,比如
f"{first_name[0].lower()}{last_name.lower()}@{fake.domain_name()}"就能实现「首字母+全拼姓」的企业邮箱格式 - 如果需要加入随机避免重名,也可以在姓名拼接后加1-99的随机数,比如
f"{first_name.lower()}.{last_name.lower()}{np.random.randint(1,100)}@{fake.free_email_domain()}"
内容的提问来源于stack exchange,提问作者Nanda
相关产品推荐
相关产品推荐

