我有以下问题。我有一个 N 对的二维数组。例如:x = [[5,2],[10,5],[3,2],...] (所以一组数组 a = [5,10,3,...] 和 b= [2,5,2,...] 第一列 (a) 对应于项目数。 第二列(b)是获得(a)列项目所花费的时间。
我想绘制获取元素所花费的总时间的累积直方图。 x 轴将在数组 (a) 的容器中,y 轴应该是数组 (b) 中每个容器 (a) 的时间总和。即我想绘制“Nr of items”-vs-“Total time to obtain (cumulative)”而不是默认的“Nr of items”-vs-“Nr of instances in array (a)”
我希望这是有道理的。
最佳答案
有没有可能这就是您所说的?
>>> pairs = [[5,2],[10,5],[3,2]]
>>> a, b = zip(*pairs)
>>> x = list(a)
>>> y = [reduce(lambda c, d: c+d, b[:i], 0) for i in range(1, len(b)+1)]
>>> x
[5, 10, 3]
>>> y
[2, 7, 9]
此处生成的 y 值是从 b 到该索引的所有值的总和。
关于二维数组的Python累积直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4269929/