向量化Numpy Slice *** 作

向量化Numpy Slice *** 作,第1张

向量化Numpy Slice *** 作

问题的答案确实不是一个单一的答案,而是可以用作构建基块的几种技术。您可能会发现另一个有用的方法

所有的numpy
ufuncs都有一个

.reduceat
方法,您可以利用它来进行一些计算:

>>> a = np.arange(100)>>> breaks = np.linspace(0, 100, 11, dtype=np.intp)>>> counts = np.diff(breaks)>>> countsarray([10, 10, 10, 10, 10, 10, 10, 10, 10, 10])>>> sums = np.add.reduceat(a, breaks[:-1], dtype=np.float)>>> sumsarray([  45.,  145.,  245.,  345.,  445.,  545.,  645.,  745.,  845.,  945.])>>> sums / counts  # i.e. the meanarray([  4.5,  14.5,  24.5,  34.5,  44.5,  54.5,  64.5,  74.5,  84.5,  94.5])


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5667801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存