我希望下面的函数会为数据帧中的每一行返回一个不同的数字,但每次函数运行时都返回相同的数字。你知道吗
谢谢。你知道吗
def inc14(p):
if p==1:
return random.randint(1,2000)
elif p==2:
return random.randint(2001,3000)
elif p==3:
return random.randint(3001,4000)
elif p==4:
return random.randint(4001,5000)
elif p==5:
return random.randint(5001,7000)
elif p==6:
return random.randint(7001,9000)
elif p==7:
return random.randint(9001,12000)
elif p==8:
return random.randint(12001,15000)
elif p==9:
return random.randint(15001,20000)
elif p==10:
return random.randint(20001,40000)
elif p==11:
return 0.01
else:
return np.NaN
data['inc_cont14']=data['inc14'].apply(inc14)
随机只是随着种子每次的变化而随机的。如果你设定种子,你每次都会得到相同的结果,因为你是从同一个种子开始的。你知道吗
输出
定义的范围无关紧要:
这里是一个运行示例,如果定义的范围不重要,如果它们重要,请参见以下内容:
输出:
如果使用与我相同的种子,则可以运行相同的代码并获得与我相同的随机数。你知道吗
定义的范围很重要:
如果你需要这个范围,新函数要短得多,但你必须准备好所有的数字
我们需要再次播种,以防复制。你知道吗
我们为他们的p创建一个带有可用数字的字典。如果p在1到10之间,我们从字典中取出数字,然后从那里删除它,这样就不会得到两次。你知道吗
相关问题 更多 >
编程相关推荐