gpt4 book ai didi

Python:区分行向量和列向量

转载 作者:IT老高 更新时间:2023-10-28 20:23:08 26 4
gpt4 key购买 nike

有没有一种区分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) 但为了我自己的方便,我想区分一下。

最佳答案

您可以通过向数组添加另一个维度来明确区分。

>>> 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]])

关于Python:区分行向量和列向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17428621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com