使用NumPy矩阵的列

使用NumPy矩阵的列,numpy,matrix,Numpy,Matrix,我一直不知道如何访问、添加、乘法、替换矩阵中的单列。我可以通过在列的各个元素上循环来实现这一点,但我希望将列作为一个单元来处理,这是我可以用行来完成的 当我尝试搜索时,我通常会被引导到处理NumPy数组的答案,但这不是一回事。你能提供给我带来麻烦的代码吗?列出的列上的操作是NumPy支持和优化的最基本操作之一。考虑一下Matlab用户的NUMPY教程,它有许多访问行或列的示例,对它们执行向量化操作,并用副本或就地修改它们。 为了澄清,假设您有一个名为a的二维NumPyndarray或matri

我一直不知道如何访问、添加、乘法、替换矩阵中的单列。我可以通过在列的各个元素上循环来实现这一点,但我希望将列作为一个单元来处理,这是我可以用行来完成的


当我尝试搜索时,我通常会被引导到处理NumPy数组的答案,但这不是一回事。

你能提供给我带来麻烦的代码吗?列出的列上的操作是NumPy支持和优化的最基本操作之一。考虑一下Matlab用户的NUMPY教程,它有许多访问行或列的示例,对它们执行向量化操作,并用副本或就地修改它们。


为了澄清,假设您有一个名为
a
的二维NumPy
ndarray
matrix
。然后
a[:,0]
将访问第一列,就像
a[0]
a[0,:]
访问第一行一样。任何对行有效的操作也应该对列有效,对于广播规则和依赖于数组对齐的某些数学操作有一些警告。您还可以使用
numpy.transpose(a)
函数(该函数也在
a.T
中公开)来转置
a
,使列变成行。

您能提供麻烦的代码吗?列出的列上的操作是NumPy支持和优化的最基本操作之一。考虑一下Matlab用户的NUMPY教程,它有许多访问行或列的示例,对它们执行向量化操作,并用副本或就地修改它们。


为了澄清,假设您有一个名为
a
的二维NumPy
ndarray
matrix
。然后
a[:,0]
将访问第一列,就像
a[0]
a[0,:]
访问第一行一样。任何对行有效的操作也应该对列有效,对于广播规则和依赖于数组对齐的某些数学操作有一些警告。您还可以使用
numpy.transpose(a)
函数(也使用
a.T
公开)将
a
转换为行。

使用空片
索引行,然后使用列号索引列,例如
a[:,4]
是矩阵
a
的第五列。它将以1D数组的形式返回,因此看起来像一个行向量,但其中的数据将是该列的数据。使用空切片
索引该行,然后使用列号索引该列,例如
a[:,4]
是矩阵
a
的第五列。它将作为1D数组返回,因此它看起来像一个行向量,但其中的数据将是该列的数据。谢谢。我一直在尝试使用a[0,:]形式,但我忘记了我试图将其设置为的一维对象被定义为一行——您提到的转置为我打开了灯。也谢谢你的链接,谢谢。我一直在尝试使用a[0,:]形式,但我忘记了我试图将其设置为的一维对象被定义为一行——您提到的转置为我打开了灯。也谢谢你的链接。