gpt4 book ai didi

python - 在python/numpy中生成多对不相等的随机整数

转载 作者:行者123 更新时间:2023-12-05 03:53:15 26 4
gpt4 key购买 nike

在蒙特卡洛模拟的上下文中,我生成随机索引对,使用

ij = np.random.randint(0, N, (n,2))

n 可以很大(例如 10**6)。然后我遍历这些对。

问题:
我希望每一对中的数字都不同。

我找到的解决方案(例如,使用 random.samplenp.random.choice)建议成对生成数字。在我的例子中,这意味着在循环中重复调用随机数生成器,这会减慢代码速度。

最佳答案

这是一个简单的方法:

import numpy as np

N = 10
n = 10000

np.random.seed(0)
i = np.random.choice(N, n)
j = np.random.choice(N - 1, n)
j[j >= i] += 1
print(np.any(i == j))
# False
ij = np.stack([i, j], axis=1)

关于python - 在python/numpy中生成多对不相等的随机整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61793884/

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