Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何高效计算二维累积和_Python_Performance_Numpy_Probability_Cdf - Fatal编程技术网

Python 如何高效计算二维累积和

Python 如何高效计算二维累积和,python,performance,numpy,probability,cdf,Python,Performance,Numpy,Probability,Cdf,给定一个形状为m,n的二维数值数组X,我想计算一个形状相同的数组Y,其中Y[I,j]是X[I,j]的累积和对于0而言,这里可以使用核分裂方法来非常有效地解决这个问题,只需使用两个np.cumsum:一个垂直,一个水平或其他方式,因为这是对称的 以下是一个例子: x=np.random.randint0,10,4,5 printx y=np.cumsumnp.cumsumx,轴=0,轴=1 普林蒂 结果如下: [[1 9 8 1 7] [0 6 8 2 3] [1 3 6 4 4] [0 8 1

给定一个形状为m,n的二维数值数组X,我想计算一个形状相同的数组Y,其中Y[I,j]是X[I,j]的累积和对于0而言,这里可以使用核分裂方法来非常有效地解决这个问题,只需使用两个np.cumsum:一个垂直,一个水平或其他方式,因为这是对称的

以下是一个例子:

x=np.random.randint0,10,4,5 printx y=np.cumsumnp.cumsumx,轴=0,轴=1 普林蒂 结果如下:

[[1 9 8 1 7] [0 6 8 2 3] [1 3 6 4 4] [0 8 1 2 9]] [[ 1 10 18 19 26] [ 1 16 32 35 45] [ 2 20 42 49 63] [ 2 28 51 60 83]] 这里可以使用一种核分裂方法来非常有效地解决这个问题,只需两个np.cumsum:一个垂直,一个水平或其他方式,因为这是对称的

以下是一个例子:

x=np.random.randint0,10,4,5 printx y=np.cumsumnp.cumsumx,轴=0,轴=1 普林蒂 结果如下:

[[1 9 8 1 7] [0 6 8 2 3] [1 3 6 4 4] [0 8 1 2 9]] [[ 1 10 18 19 26] [ 1 16 32 35 45] [ 2 20 42 49 63] [ 2 28 51 60 83]]
看来您的2d累计和方法是可行的。然而,我想知道你正在努力实现的更大目标是什么。如果需要联合概率或条件概率,2d累积和可能不会出现在图片中,可能需要进行其他计算。@RobertDodier此问题源于一个涉及数组所有平方子数组和的编码问题。我认为从左上角开始计算累积和有助于加快速度。看来你计算2d累积和的方法是可行的。然而,我想知道你正在努力实现的更大目标是什么。如果需要联合概率或条件概率,2d累积和可能不会出现在图片中,可能需要进行其他计算。@RobertDodier此问题源于一个涉及数组所有平方子数组和的编码问题。我认为从左上角开始计算累积总数可以帮助加快速度。