微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python中bin范围的总和

如何解决python中bin范围的总和

| 我有一个形状的numpy数组:
In: imar.shape 
Out: (21,77,10000)
我想要最后一个轴上的装箱总和,每个装箱中包含20个项目。 我现在这样做的方式是:
np.sum(  imar.reshape([-1,500,20]),axis=2 ).reshape(imar.shape[:2])
速度很快,但是如果我得到重塑错误的参数,似乎容易出错。有一个更好的方法吗? 我看过np.digitize,直方图,bincount和其他一些,但是这些都是基于值的;我想要在一组范围内求和。     

解决方法

您有正确的方法。不久前,我问了一个类似的问题: 如何高效地在类似于Matlab的blkproc(blockproc)函数的块中处理numpy数组 有几种方法可以处理重塑。如果您小心翼翼并编写一个函数来执行此操作,那么您会没事的。当然,如果输入矩阵不是块大小的整数倍,则需要确定是否修剪输入矩阵。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。