Sum*_*ena 8 python numpy multidimensional-array
我正在寻找一种沿轴线应用n项功能的方法.例如
array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8]])
Run Code Online (Sandbox Code Playgroud)
如果我sum一次在行中应用2个项目,我会得到:
array([[ 4, 6],
[ 12, 14]])
Run Code Online (Sandbox Code Playgroud)
哪个是前sum2行和后2行.
注意:我正在处理更大的数组,我必须将该函数应用于n项,我可以在运行时决定.
数据沿不同的轴延伸.例如
array([[... [ 1, 2, ...],
[ 3, 4, ...],
[ 5, 6, ...],
[ 7, 8, ...],
...], ...])
Run Code Online (Sandbox Code Playgroud)
这是一个减少:
numpy.add.reduceat(a, [0,2])
>>> array([[ 4, 6],
[12, 14]], dtype=int32)
Run Code Online (Sandbox Code Playgroud)
只要“更大”意味着“y”轴更长,您就可以扩展:
a = numpy.array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8],
[ 9, 10],
[11, 12]])
numpy.add.reduceat(a, [0,2,4])
>>> array([[ 4, 6],
[12, 14],
[20, 22]], dtype=int32)
Run Code Online (Sandbox Code Playgroud)
编辑:实际上,这对于“两个维度都更大”也适用:
a = numpy.arange(24).reshape(6,4)
numpy.add.reduceat(a, [0,2,4])
>>> array([[ 4, 6, 8, 10],
[20, 22, 24, 26],
[36, 38, 40, 42]], dtype=int32)
Run Code Online (Sandbox Code Playgroud)
我将让您自行调整索引以适应您的具体情况。
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |