问题标签 [cumsum]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2680 浏览

python - 在numpy中绘制随机元素

我有一个元素概率数组,比方说[0.1, 0.2, 0.5, 0.2]。数组总和为 1.0。

使用普通的 Python 或 numpy,我想绘制与它们的概率成比例的元素:第一个元素大约 10% 的时间,第二个 20%,第三个 50% 等等。“draw”应该返回绘制元素的索引。

我想出了这个:

行得通,但是太复杂了,一定有更好的办法。谢谢。

0 投票
2 回答
758 浏览

python - 在 python/numpy 中加速 delta 过滤器

我正在编写一个解压缩器,它(除其他外)必须将增量过滤器应用于 RGB 图像。也就是说,读取的图像只有第一个像素是绝对的(R1,G1,B1),其他的都是(R[n]-R[n-1],G[n]-G[n-1) ], B[n]-B[n-1]),并将它们转换为标准 RGB。

现在我使用 numpy 如下:

在哪里

  • 第 1 行创建原始图像的一维数组;
  • 第 2 行将其重塑为形式

    /li>
  • 第 3 行执行实际的去过滤

  • 第 4 行再次转换回一维数组

问题是它对我的需求来说太慢了。我对其进行了分析,发现大量时间用于重塑阵列。

所以我想知道:有什么方法可以避免重塑或加快它的速度吗?

笔记:

  • 我宁愿不必为此编写 C 扩展。
  • 我已经在使用多线程了
0 投票
1 回答
301 浏览

python - Numpy 1d Array CumSquare 的值

我希望模拟 的功能numpy.cumsum(),但我需要捕获值的累积平方。

例如:我有一个数组是 [1,2,3,4]。

我可以numpy.cumsum(array)用来返回一个array([1,3,6,10]). 我的目标是使用一些快速的 numpy 技巧来获得值的累积平方。

在纯 Python 中使用列表:

我试过numpy.cumprod()了,但那是累积乘积,而不是值的累积平方和。我使用 NumPy 的愿望纯粹是基于速度。使用cumsum()比使用 for 循环快得多(这是有道理的)。

0 投票
3 回答
3249 浏览

python - 考虑到 NaN 的 Numpy cumsum

我正在寻找一种简洁的方法:

到:

我目前能做的最好的是:

有没有更短的方法来完成同样的事情?沿着二维数组的轴做一个 cumsum 怎么样?

0 投票
1 回答
280 浏览

r - 向量化函数:带有衰减参数的 cumsum

我编写了该cumsum函数的一个变体,在添加当前值之前,我将先前的总和乘以衰减因子:

这是一个演示,使用二进制变量使效果清晰:

绘图

编译这个函数会加快很多速度:

但我怀疑矢量化会进一步改善它。有任何想法吗?

0 投票
3 回答
16031 浏览

arrays - 矩阵中的累积和

我有一个矩阵

我想逐行逐列计算它的累积总和,也就是说,我希望结果是

关于如何在 R 中快速实现这一点的任何想法?(可能使用函数 cumsum)(我有巨大的矩阵)

谢谢!

0 投票
1 回答
227 浏览

matlab - Matlab:贪婪视角的cumsum和详尽的唯一元素索引

试图通过扩展我之前的问题来了解如何操作具有以下元素的两个矩阵(我将尝试简化我的问题以便更容易回答):

第一个矩阵:

第二个矩阵:

假设第二个矩阵值是:

现在我们对 Val.Mat2: 的值求和VM2CS = cumsum(sort(Val.Mat2)),并为每列设置一个汇总约束,并将cstr = 100;约束的结果收集在矩阵上:result = sum(VM2CS <= cnstrn);


####################### 问题 (复杂性递增的两个方面) #################


  • 看点一:cumsum如何忽略零(0)的元素;所以结果是: result = 2 2 1。我试过:result = sum(cumsum(sort(VM2CS))<=cstr ~=0)没有成功。
  • 方面二:Mat1元素在Mat2矩阵内重复(pe Mat1(1) 元素与 Mat1(8) 相同,但值不同,分别为 18 和 82。Mat1(6) 和 Mat1(7) 也重复。)。我如何才能在具有透视的最终结果中仅使用一次相同的元素,以使每行具有尽可能多的唯一元素(不包括零(0))?预期结果应该是:

我知道第二方面不容易回答,但指出解决方案也应该会有所帮助。Thomas G. Robertazzi教授在规划电信网络中提出了同样有用的示例,但我现在没有这本书,我买不起。

0 投票
2 回答
3341 浏览

python - NumPy/SciPy 中的广义累积函数?

numpy 或 scipy(或其他一些库)中是否有将 cumsum 和 cumprod 的概念推广到任意函数的函数。例如,考虑(理论)函数

func 是一个接受两个浮点数并返回一个浮点数的函数。特殊情况

分别是 cumsum 和 cumprod。例如,如果

我将其应用于:

我想

0 投票
2 回答
535 浏览

python - 使用 Numpy 计算范围内的数字

我一直在尝试编写一些代码来添加属于某个范围的数字并将相应的数字添加到列表中。我还需要从 cumsum 范围中提取范围。

0 投票
1 回答
450 浏览

r - 条件满足时休息cumsum?

我想在数据框中的两列上运行累积摘要,如下所示:

并让最终的数据框看起来像这样:

本质上,我要问的是如何在每次 col A 更改时,重置为 1 并再次开始运行 cumsum 的条件下运行 cumsum?

谢谢!