python numpy:跨矩阵的行计算

时间:2016-11-28 23:54:49

标签: python numpy matrix

我试图跨矩阵的行计算并将该值存储在不同的矩阵中。这是最有效的方法,还是我应该注意的任何内置函数。

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等,

1 个答案:

答案 0 :(得分:2)

尝试:

b = np.prod(a / [1.0,2.0,3.0],axis=1, keepdims=True)
b

# # array([[  1.],
       # [ 20.],
       # [ 84.]])

我希望这会有所帮助。

相关问题