有没有一种很好的方法来区分python中的行向量和列向量?到目前为止,我正在使用numpy和scipy,到目前为止,我看到的是,如果我要给一个向量,说
from numpy import * Vector = array([1,2,3]) 他们将无法说天气,我的意思是行或列向量。此外:
array([1,2,3]) == array([1,2,3]).transpose() True 在“现实世界”中哪一个根本是不正确的。我意识到提到的模块中向量上的大多数功能都不需要区分。例如,outer(a,b)或者a.dot(b)我想为自己的方便而与众不同。 问题来源于stack overflow
您可以通过向数组添加另一个维度来明确区分。
a = np.array([1, 2, 3]) a array([1, 2, 3]) a.transpose() array([1, 2, 3]) a.dot(a.transpose()) 14 现在将其强制为列向量:
a.shape = (3,1) a array([[1], [2], [3]]) a.transpose() array([[1, 2, 3]]) a.dot(a.transpose()) array([[1, 2, 3], [2, 4, 6], [3, 6, 9]]) 想要区分时,另一个选择是使用np.newaxis:
a = np.array([1, 2, 3]) a array([1, 2, 3]) a[:, np.newaxis] array([[1], [2], [3]]) a[np.newaxis, :] array([[1, 2, 3]])
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。