为了账号安全,请及时绑定邮箱和手机立即绑定

迭代 n 行数组,然后在 python 中迭代下 n 行等等

迭代 n 行数组,然后在 python 中迭代下 n 行等等

沧海一幻觉 2023-06-13 15:09:00
我有看起来像这样的 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))
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

使用循环:

for row_index in range(0, n, 10):
     array[row_index:row_index+10, :]


查看完整回答
反对 回复 2023-06-13
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信