我有看起来像这样的 C 数组
array([23, 23, 23, ..., 68, 34, 42])
它的索引存储在另一个数组 D 中,它看起来像
array([[23989, 10991, 81533, ..., 75050, 13817, 47678],
[54864, 54830, 89396, ..., 22709, 14556, 62298],
[ 2936, 28729, 4404, ..., 21431, 81187, 49178],
...,
[30737, 12974, 41031, ..., 43003, 61132, 33385],
[64713, 53207, 49529, ..., 72596, 76406, 15207],
[29503, 71648, 27210, ..., 31298, 47102, 13024]])
每行包含大约 30 个 C 的随机索引。我想要做的是使用前 10 行作为 C 的 300 个随机抽取的索引,然后使用接下来的 10 行来处理接下来的 300 个随机抽取的索引等等。
我可以使用代码从 C 中随机抽取 1000 组 30 个观察值
means_size_30 = C[D].mean(axis=1)
plt.hist(means_size_30)
plt.axvline(np.mean(C))
但是我如何获得 10 行然后接下来的 10 行才能获得所需的结果?添加 for 循环只会让我得到单行的平均值(有 30 个观察值),我想要的是前 10 行的平均值,然后是接下来的 10 行等等。
for i in range(0,1000,10):
means_size_300 = C[D[i:i+10,:]].mean(axis=1)
print(C[D[i:i+10,:]])
print(means_size_300)
plt.hist(means_size_300)
plt.axvline(np.mean(C))
胡子哥哥
相关分类