Python 给定行中固定列的numpy和
比如说,我有这样一个numpy数组:Python 给定行中固定列的numpy和,python,numpy,Python,Numpy,比如说,我有这样一个numpy数组: [[ 1 2 3 5] [ 4 5 6 8] [ 7 8 9 11]] 我想得到每一行的(col0+col2)和(col1+col3)之和。 我知道这可能是最基本的,但我无法理解。请帮忙这应该可以做到: import numpy as np mat=np.arange(12).reshape(3,4) A=np.sum(mat,axis=0)[0::2] B=np.sum(mat,axis=0)[1::2] A=(第0列+第2列) B=(col1+
[[ 1 2 3 5]
[ 4 5 6 8]
[ 7 8 9 11]]
我想得到每一行的(col0+col2)和(col1+col3)之和。
我知道这可能是最基本的,但我无法理解。请帮忙这应该可以做到:
import numpy as np
mat=np.arange(12).reshape(3,4)
A=np.sum(mat,axis=0)[0::2]
B=np.sum(mat,axis=0)[1::2]
A=(第0列+第2列)B=(col1+col3)这应该可以做到:
import numpy as np
mat=np.arange(12).reshape(3,4)
A=np.sum(mat,axis=0)[0::2]
B=np.sum(mat,axis=0)[1::2]
A=(第0列+第2列)B=(col1+col3)是的,一旦你知道numpy数组的赋值方案,它是非常基本的: 让
是的,一旦你知道numpy数组的赋值方案,它是非常基本的: 让 设置
Out[99]:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
解决方案
#reshape the array to 2 columns, then sum columns, finally reshape it back to 2 columns.
a.reshape(-1,2).sum(1).reshape(-1,2)
Out[102]:
array([[ 1, 5],
[ 9, 13],
[17, 21]])
设置
Out[99]:
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
解决方案
#reshape the array to 2 columns, then sum columns, finally reshape it back to 2 columns.
a.reshape(-1,2).sum(1).reshape(-1,2)
Out[102]:
array([[ 1, 5],
[ 9, 13],
[17, 21]])
注意,我使用了变量mat,它与矩阵不同。用矩阵的变量替换第3行和第4行中的mat。注意,我使用了变量mat,它与矩阵不同。用矩阵的变量替换第3行和第4行中的mat。