当前位置: 首页 > 面试题库 >

Python:区分行向量和列向量

麹高远
2023-03-14
问题内容

有没有一种很好的方法来区分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]])


 类似资料:
  • 问题内容: 假设我有一个形状为(1,256)的行向量。我想将其转换为形状为(256,1)的列向量。您在Numpy中会如何做? 问题答案: 您可以使用 转置 操作来执行此操作: 例: 请注意,原始数组仍将保持不变。转置操作只会复制并转置它。 如果输入阵列是相当1D中,则可以 促进 通过引入新的(singleton)的轴作为所述第二尺寸数组的列向量。下面是一个示例: 对于一维情况,还有另一个选择是使用

  • 这里是MatLab新手(R2015a,MacOS10.10.5),希望能找到解决这个索引问题的方法。 我想基于一个行索引向量和一个列索引向量来更改一个大型2D矩阵的值。举一个非常简单的例子,如果我有一个3 x 2的零矩阵: 我要把A(1,1)=1,而A(2,2)=1,而A(3,1)=1,这样A现在 我想用向量来表示行和列的索引: 有没有办法做到这一点而不循环?请记住,这是一个玩具示例,需要处理非常

  • 在努力使所有必要的计数变量正确后,我沮丧地发现它不起作用。第一次,是 它被强制为一个整数,因此变成。 在第二个循环重复中,只包含红色,变成一个简单的整数向量,。 我做错了什么?是否有一种方法可以初始化,这样它就不会被转换成一个数字向量,而是变成一个向量列表? 还有,除了“滚我自己的”,还有别的办法做整件事吗?

  • 本文向大家介绍面向行和面向列的数据库之间的区别,包括了面向行和面向列的数据库之间的区别的使用技巧和注意事项,需要的朋友参考一下 数据存储数据库有两种类型,一种是面向行的数据库,另一种是面向列的数据库。 面向行的数据库是Oracle,MySql等传统数据库。它逐行存储数据,而存储表的常用方法是序列化每一行数据。基于行的系统旨在有效地返回整行或记录的数据。 另一方面,基于列的数据库是“ No SQL”

  • 我想通过输入向量的大小在我的2D向量中的2行之间交换,向量元素和2个整数r1和r2代表要交换的行,我真的不知道是否有一个预定义的函数来这样做。 3 3 84-87 78 16 94 36 87-93 50 1 2 交换后的数组: 16 94 36 84-87 78 87-93 50

  • 我有一个熊猫的数据框,有一列是向量: 我想把它拆分成这样的元素: df2=pd.DataFrame({'ID':[1,2],'A':[1,4],'B':[2,5],'C':[3,6]}) 我试过但是没有运气.任何帮助将不胜感激。