Han*_*a S 6 python random numpy
有一个程序需要从分布在[1, 500]. 如何从输出中获取随机样本?
我写了以下内容:
N = 1000
x = 1 + 500 * np.random.rand(N)
sp_x = random.sample(x, 100)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
TypeError: Population must be a sequence or set. For dicts, use list(d).
Run Code Online (Sandbox Code Playgroud)
从您的代码中,结果x是一个 numpy 数组。检查type(x)输出:numpy.ndarray
但该函数random.sample(sequence, k)只能接受 a list、tuple、string、 或的序列set。所以你的代码可以是:
import random
N = 1000
x = 1 + 500*np.random.rand(N)
x = list(x)
sp_x = random.sample(x, 100)
print(len(sp_x))
Run Code Online (Sandbox Code Playgroud)
输出:100
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |