我有一个形状为numpy的数组:
In: imar.shape
Out: (21, 77, 10000)
我希望在最后一个轴上有一个分箱总和,每个箱子包含20个项目。
我现在这样做的方式是:
np.sum( imar.reshape([-1,500,20]), axis=2 ).reshape(imar.shape[:2])
它很快,但如果我得到重塑错误的参数,似乎容易出错。有更好的方法吗?
我看过np.digitize,histogram,bincount和其他一些,但这些是基于价值的;我希望总结一组范围。
答案 0 :(得分:1)
你有正确的方法。我不久前问了一个类似的问题:
处理重塑有几种方法。如果你小心并且写了一个函数来做它,那你就没事了。当然,如果输入矩阵不是块大小的整数倍,则需要确保修剪输入矩阵。