gpt4 book ai didi

python - 在文件中写入了一些变量名,需要使用 python 将其替换为新生成的随机值?

转载 作者:行者123 更新时间:2023-12-04 14:57:41 24 4
gpt4 key购买 nike

我想用为每个变量随机生成的变量替换 CSV 文件中的变量。

例如,将“不可用”更改为“男性”或“女性”

示例:

Number    Sex
0 Female
1 Male
2 Not Available
3 Male
4 Not Available

随机变化后:

Number    Sex
0 Female
1 Male
2 Female
3 Male
4 Male

import pandas as pd
import random

def RandomSex():
return random.choice(['Male','Female'])


df = pd.read_csv(r'data.csv')
df2 = df.loc[: , 'Sex']
print(df2)
df.loc[(df.Sex == 'Not Available'),'Gender'] = RandomSex()
print(df2)

但这会将所有“不可用”更改为所有“男性”或所有“女性”

最佳答案

您可以先获取"Not Available" 的数量,然后查找choices。使用列表中的 random.choices 而不是仅选择一个(random.choice 所做的):

not_availables = df.Sex.eq("Not Available")
num_not_availables = not_availables.sum()

choice_list = ["Male", "Female"]
new_values = random.choices(choice_list, k=num_not_availables)

df.loc[not_availables, "Sex"] = new_values

得到(例如)

Number  Sex
0 Female
1 Male
2 Male
3 Male
4 Female

关于python - 在文件中写入了一些变量名,需要使用 python 将其替换为新生成的随机值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67635809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com