有没有办法根据职位生成随机数(工资)。例如,应用基于职位的权重。目前我正在做以下
import numpy as np
from random import randint
job_titles = ['developer','business manager','staff','senior developer']
title = np.random.choice(office_titles, 1, p=[0.4, 0.1, 0.4, 0.1])[0]
if title == 'developer': salary = randint(40000,55000)
elif title == 'business manager': salary = randint(70000,85000)
elif title == 'staff': salary = randint(25000,45000)
else: salary = randint(55000,75000)
在我的情况下,我有近30个职称,这不是解决这个问题的好方法。有人可以指导我这样做的有效方法是什么?
答案 0 :(得分:0)
这是一种有效的方法。此解决方案遵循jonrsharpe的提示,并考虑了COLDSPEED的评论(请参阅评论)。
myString.split("").sort();
由于您有近30个职称,现在您只需填写import numpy as np
jobs = {
# 'title': (p, min salary, max salary)
'developer': (0.4, 40000, 55000),
'business manager': (0.1, 70000, 85000),
'staff': (0.4, 25000, 45000),
'senior developer': (0.1, 55000, 75000),
}
titles = [title for title in jobs.keys()]
p = [job[0] for job in jobs.values()]
title = np.random.choice(titles, size=1, p=p)[0]
min_salary = jobs[title][1]
max_salary = jobs[title][2]
salary = np.random.randint(min_salary, max_salary)
字典。这可能是解决问题的更好方法。
如果你真的想根据职位申请权重,那么只需用k $而不是$来定义工资。像这样:
jobs
我希望这会对你有所帮助。