繁体   English   中英

numpy中的运算向量化

Operation vectorization in numpy

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我得到一个日期的numpy数组(date是从0到371的数字)。

dates = [234, 12, 343, ...]

和空数组date_counter (大小为372)。

date_counter = [0, 0, ..., 0]

对于从每一个日期dates我想增加date_counter 如何使该操作向量化?

2 个回复

计算值的出现次数,然后更新日期计数器。

例如,要获得增量:

unique, counts = np.unique(dates, return_counts=True)

接着:

date_counter[unique] += counts

我认为np.histogram是您的朋友。 它完全符合您的要求:计算项目并将其放入“存储桶”中。 一个较小的(人类可读的)示例:

In [9]: vals = [9, 0, 1, 2, 2, 9, 3, 7, 8, 9, 9]

In [10]: date_counter, _ = np.histogram(vals, bins=np.arange(11)) # 11 -> 373 for your case

In [11]: date_counter
Out[11]: array([1, 1, 2, 1, 0, 0, 0, 1, 1, 4], dtype=int64)

每个索引对应于所需项的数量,其值等于该索引的项的数量(即date_counter的最后一个数字为4 ,位于索引9 ,意味着有四个9 s)。

HTH。

2 向量化numpy中的for循环

我正在尝试使用numpy在python中计算矩阵z(定义如下)。 这是我当前的解决方案(使用1 for循环) 是否可以完全矢量化此计算? 我需要进行数千次迭代的这种计算,并且numpy中的矩阵运算比for循环大得多。 ...

2017-10-06 11:06:07 1 53   numpy
3 在NumPy中向量化矩阵乘法

令x为不均匀间隔的严格增加的数组(例如x = np.array([0, .1, .3, .7, .99]) )。 我有以下样条函数: 由与x长度相同的numpy数组a,b,c,d,e,f,g,w构建。 令w为形状为(2,len(x))的数组。 我现在正在执行以下循环: 这行得通,但是它非常 ...

5 NumPy中的向量化操作

在NumPy中是否有将这些操作向量化的一般方法? 如果那个函数是在ll上的线性运算,那将是微不足道的,但是在一般情况下有没有办法做到这一点? 仅举一个例子: ...

6 向量化numpy中的根查找

我需要运行一个函数来查找方程组的根,该方程组取决于大量数据上的一个参数(实际方程组要复杂得多,但在形式上等效)。 向量化方便吗? 我试图使用numpy.vectorize(f)可以正常工作,但是我认为使用python for loop的速度相同。 是否有某种手动向量化可以更好地利 ...

7 熊猫中的向量化运算-Python

我正在学习Python,并尝试在Pandas中进行矢量化操作。 但是,当我尝试使用矢量化操作标准化Pandas数据帧时,出现了错误消息。 该可重现示例使用可在以下链接中找到的surveys.csv数据集: http : //www.datacarpentry.org/python-eco ...

8 向量化 numpy 操作

我有一个一维 numpy ndarray V。我的操作是 H = (V/a)**b,其中 a 和 b 只是标量。 这很简单,但我需要运行多个实验(数千个),在其中尝试 a 和 b 的不同变体。 使用 for 循环很容易做到这一点,但我希望它尽可能快地运行,所以我想矢量化。 所以,假设我也生成了 a ...

9 Numpy 向量化函数

我有这个函数fs(i,j,dif )。 通过执行vfunc = np.vectorize(fs)很容易矢量化这个函数 事情是,我想计算这个函数的输出 对于i一个值, vfunc(0, np.arange(ysize), 0) (dif=0)没有问题 但我不知道如何为i所有值做到这一点。 我设法 ...

10 numpy向量化函数

我想使用向量化对numpy.ndarray进行一些计算。 假设我具有以下向量化函数: 和下面的numpy.ndarray 当我申请 我收到以下错误 \\为什么是这种情况,我应该如何解决? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM