在 Faker 库中链接名字和性别
Linking first name and gender in Faker library
我正在寻求使用 Faker 库为我的研究生成一个假数据集。我无法 link 对方的性别和名字。在这方面我能得到一些帮助吗?下面给出函数。
def faker_categorical(num=1, seed=None):
np.random.seed(seed)
fake.seed_instance(seed)
output = [
{
"gender": np.random.choice(["M", "F"], p=[0.5, 0.5]),
"GivenName": fake.first_name_male() if "gender"=="M" else fake.first_name_female(),
"Surname": fake.last_name(),
"Zipcode": fake.zipcode(),
"Date of Birth": fake.date_of_birth(),
"country": np.random.choice(["United Kingdom", "France", "Belgium"]),
}
for x in range(num)
]
return output
df = pd.DataFrame(faker_categorical(num=1000))
你的问题不清楚,但我想你正在寻找的是一种从代码中的两个不同位置引用 np.random.choice()
结果的方法。简单——将它分配给一个临时变量,然后从两个地方引用该变量。
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])
output.append(
{
"gender": gender,
"GivenName": fake.first_name_male() if gender=="M" else fake.first_name_female(),
"Surname": fake.last_name(),
"Zipcode": fake.zipcode(),
"Date of Birth": fake.date_of_birth(),
"country": np.random.choice(["United Kingdom", "France", "Belgium"]),
})
return output
有一项关于将名字与性别联系起来的分类研究,例如约翰是 99.8% 的男性,而玛丽亚是 99.8% 的女性。您可以阅读它 here,也可以下载一个 .csv
文件,该文件将不同的名字映射到性别。当我需要关于人的虚假数据时,我所做的是解析数据集,如果值在那里,我会分配分类性别,如果不是(因为当地人或其他原因),我只是分配 np.random.choice(["MALE", "FEMALE"])
。希望这对您有所帮助
我正在寻求使用 Faker 库为我的研究生成一个假数据集。我无法 link 对方的性别和名字。在这方面我能得到一些帮助吗?下面给出函数。
def faker_categorical(num=1, seed=None):
np.random.seed(seed)
fake.seed_instance(seed)
output = [
{
"gender": np.random.choice(["M", "F"], p=[0.5, 0.5]),
"GivenName": fake.first_name_male() if "gender"=="M" else fake.first_name_female(),
"Surname": fake.last_name(),
"Zipcode": fake.zipcode(),
"Date of Birth": fake.date_of_birth(),
"country": np.random.choice(["United Kingdom", "France", "Belgium"]),
}
for x in range(num)
]
return output
df = pd.DataFrame(faker_categorical(num=1000))
你的问题不清楚,但我想你正在寻找的是一种从代码中的两个不同位置引用 np.random.choice()
结果的方法。简单——将它分配给一个临时变量,然后从两个地方引用该变量。
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])
output.append(
{
"gender": gender,
"GivenName": fake.first_name_male() if gender=="M" else fake.first_name_female(),
"Surname": fake.last_name(),
"Zipcode": fake.zipcode(),
"Date of Birth": fake.date_of_birth(),
"country": np.random.choice(["United Kingdom", "France", "Belgium"]),
})
return output
有一项关于将名字与性别联系起来的分类研究,例如约翰是 99.8% 的男性,而玛丽亚是 99.8% 的女性。您可以阅读它 here,也可以下载一个 .csv
文件,该文件将不同的名字映射到性别。当我需要关于人的虚假数据时,我所做的是解析数据集,如果值在那里,我会分配分类性别,如果不是(因为当地人或其他原因),我只是分配 np.random.choice(["MALE", "FEMALE"])
。希望这对您有所帮助