矩阵每一行各自乘上相同的数,满足 矩阵的行数=向量的维度
试过用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加权的句向量