0
这里是我的问题:
我想定义一个人的数组,并在for循环中更改此数组的条目。由于我也希望看到由此产生的分布的渐近性,所以我想重复这个模拟安静很多,因此我使用矩阵来存储每行中的几个数组。我知道如何与两个for循环做到这一点:Python:并行编辑矩阵行
import random
import numpy as np
nobs = 100
rep = 10**2
steps = 10**2
dmoney = 1
state = np.matrix([[10] * nobs] * rep)
for i in range(steps):
for j in range(rep)
sample = random.sample(range(state.shape[1]),2)
state[j,sample[0]] = state[j,sample[0]] + dmoney
state[j,sample[1]] = state[j,sample[1]] - dmoney
我以为我用的是多进程库,但我不知道如何做到这一点,因为在我的头脑简单,工人操纵相同的全局矩阵平行,我读的是不是一个好主意。
那么,我该如何做,加快计算?
在此先感谢。
我不明白你的观点,对不起。一个线程是否总是只修改一列/每行或每个数据? – Mijago
目前还不清楚是什么你的我环路是做你不REF我(假设你使用它在一些未示出的代码与仿真,分布Calcs(计算)做的。)不过,我认为你可以做你的j循环的一个numpy的声明。但我真的没有想到,通过(np.random.choice做类似的工作,python.random.sample) – paddyg
我谨行编辑矩阵行,直到整个矩阵改变,并且重复此步骤几次。 我没有发布的是样本生成和平均步骤的功能。前者是反对np.random.choice的论据,后者是逐行编辑的参数,直到整个矩阵发生改变。 – Daniel