Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python数据帧中根据给定的N生成随机数并添加前缀?_Python_Pandas_Random - Fatal编程技术网

如何在python数据帧中根据给定的N生成随机数并添加前缀?

如何在python数据帧中根据给定的N生成随机数并添加前缀?,python,pandas,random,Python,Pandas,Random,我有以下数据帧: Prefix Count 98510 3 98472 2 98435 4 98011 1 98452 2 现在,基于前缀和计数,我必须为00000到99999之间的每个前缀生成唯一的随机数,并将它们添加到前缀中 输出应该如下所示 Numbers 9851015651 9851058616 9851069815 9847279462 9847263458 9843556984 9843591329 9843513584 9843532564 9801112

我有以下数据帧:

Prefix  Count
98510   3
98472   2
98435   4
98011   1
98452   2
现在,基于前缀和计数,我必须为00000到99999之间的每个前缀生成唯一的随机数,并将它们添加到前缀中 输出应该如下所示

Numbers
9851015651
9851058616
9851069815
9847279462
9847263458
9843556984
9843591329
9843513584
9843532564
9801112358
9845265841
9845279154

您可以组合
repeat
np.random.randint

np.random.seed(1)  # for repeatability - remove the command or change seed if you want

df.Prefix.repeat(df.Count)*100000 + np.random.randint(0, 100000, df.Count.sum())
输出:

0    9851098539
0    9851077708
0    9851005192
1    9847298047
1    9847250057
2    9843573349
2    9843521440
2    9843598448
2    9843520609
3    9801149100
4    9845207751
4    9845243757
Name: Prefix, dtype: int64

请将其降低并提高到预期值。显示中间结果与预期结果的偏差。简单地发布问题陈述是一个家庭作业转储,而不是堆栈溢出问题。@HenryYik这不符合OP的要求。谢谢您的解决方案。不过我还有一个问题。我可以按“前缀”列分组并在其中创建随机数,这样每个前缀都有机会获得0到99999之间的随机数。您给出的解决方案将创建“配额”列的随机数总和,并为其添加前缀。通过这样做,并非所有前缀都有机会获得从0到99999的随机数。提前谢谢你真的不需要这样做。从理论上讲,均匀分布的乘积仍然是均匀分布。实际上,使用更多的代码可以得到相同的结果。。这个随机数被加到了第一个前缀98510。现在对于其他前缀56291将不可用。我想为每个前缀提供0到99999的数字。但在前缀中应该是唯一的。你能帮我吗?不,
np.random.randint
不在乎重复。你可能还有两个
56291
。是的,我意识到了。我尝试使用unique,但我无法对每个前缀进行分组,以使号码(099999)可用于我想要的每个前缀。