我试图跨矩阵的行计算并将该值存储在不同的矩阵中。这是最有效的方法,还是我应该注意的任何内置函数。
import numpy as np
a = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ])
def calc_across(matrix):
frame = []
for row in matrix:
frame.append( [row[0] * row[1]/2. * row[2]/3] ) # period present to generate floats
return np.array(frame)
b = calc_across(a)
如果我print b
,我会得到以下矩阵:
b = [ [1.], [20.], [84.] ]
如果a
为3x3,则b
必须为3x1(3行,1列)。如果a
为10x3,b
必须为10x1等,
答案 0 :(得分:2)
尝试:
b = np.prod(a / [1.0,2.0,3.0],axis=1, keepdims=True)
b
# # array([[ 1.],
# [ 20.],
# [ 84.]])
我希望这会有所帮助。