我有一个40*4的矩阵和一个包含40个元素的向量我想计算M和每个列向量之间的余弦距离,单位是m。
我真的需要这样写吗?

 print [cosine(M[:,i],A) for i in range(A.shape[1])]

或者还有其他更好的办法?
可以在此处查看余弦文档:http://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.cosine.html#scipy.spatial.distance.cosine
谢谢!

最佳答案

也许一种更实用的方法是使用functools.partialcosine的第二个参数绑定到A,然后使用map将此绑定函数应用到M的列。

map(partial(cosine,v=A), M.transpose())

07-26 08:11