矩阵每一行各自乘上相同的数

矩阵每一行各自乘上相同的数,满足 矩阵的行数=向量的维度 

试过用np.tile, np.reshape来解决但写的很麻烦,后面发现利用numpy的broadcast机制两行代码即可解决

import numpy as np

x = [[1, 1, 1], 
    [3, 3, 3], 
    [5, 5, 6]]
y = [1, 2, 3]
y = np.reshape(y, [-1, 1])
res = np.multiply(x, y)
print(res)

打印的结果为

[[ 1  1  1]
 [ 6  6  6]
 [15 15 18]]

本人是在计算tf-idf加权句向量的时候遇到的这个问题,将每个词的词向量拼成一个矩阵,然后对应的tf-idf值拼成向量,这样在计算加权的时候一次乘法即可求的结果,最后用np.sum()函数指定维度进行求和即可得到tf-idf加权的句向量

你可能感兴趣的:(numpy,python,机器学习)