Python 将(hstack)一个可编译数组附加到矩阵后返回错误
我正在尝试将数组添加到矩阵中。数组具有Python 将(hstack)一个可编译数组附加到矩阵后返回错误,python,append,Python,Append,我正在尝试将数组添加到矩阵中。数组具有.shape(a,),矩阵具有.shape(a,b),具有a和b整数。我得到的错误是维度不匹配(所有输入数组必须具有相同数量的维度)。我应该如何处理这些一致的对象呢?我认为问题在于你所说的数组是一维的,而矩阵是二维的 假设它们被称为M和NM.shape给出(a,)(你称之为“数组”)和N.shape给出(a,b)(你称之为“矩阵”)。如果你做M=M.restrape(a,1)你会得到一个二维数组,它的行数与N和np的行数相同。hstack((M,N))应该可
.shape
(a,)
,矩阵具有.shape
(a,b)
,具有a
和b
整数。我得到的错误是维度不匹配(所有输入数组必须具有相同数量的维度
)。我应该如何处理这些一致的对象呢?我认为问题在于你所说的数组是一维的,而矩阵是二维的
假设它们被称为M
和N
M.shape
给出(a,)
(你称之为“数组”)和N.shape
给出(a,b)
(你称之为“矩阵”)。如果你做M=M.restrape(a,1)
你会得到一个二维数组,它的行数与N
和np的行数相同。hstack((M,N))
应该可以工作
附言:你提到的所有实体都是数组,也许你指的是向量或一维数组
编辑-例如:
>>> import numpy as np
>>> a= np.array([1,2,3])
>>> a.shape
(3,)
>>> b = np.array([[1], [2], [3]])
>>> b.shape
(3,1)
>>> c = np.hstack((a.reshape(3, 1), b))
>>> c
array([[1, 1],
[2, 2],
[3, 3]])
>>> c.shape
(3,2)
我认为问题在于你所说的数组是一维的,而矩阵是二维的 假设它们被称为
M
和N
M.shape
给出(a,)
(你称之为“数组”)和N.shape
给出(a,b)
(你称之为“矩阵”)。如果你做M=M.restrape(a,1)
你会得到一个二维数组,它的行数与N
和np的行数相同。hstack((M,N))
应该可以工作
附言:你提到的所有实体都是数组,也许你指的是向量或一维数组
编辑-例如:
>>> import numpy as np
>>> a= np.array([1,2,3])
>>> a.shape
(3,)
>>> b = np.array([[1], [2], [3]])
>>> b.shape
(3,1)
>>> c = np.hstack((a.reshape(3, 1), b))
>>> c
array([[1, 1],
[2, 2],
[3, 3]])
>>> c.shape
(3,2)
使用None
或np向第一个数组添加额外的轴。newaxis
:
>>> import numpy as np
>>> a= np.array([1,2,3])
>>> a.shape
(3,)
>>> b = np.array([[1], [2], [3]])
>>> b.shape
(3, 1)
>>> np.hstack((a[:, None], b))
array([[1, 1],
[2, 2],
[3, 3]])
使用None
或np向第一个数组添加额外的轴。newaxis
:
>>> import numpy as np
>>> a= np.array([1,2,3])
>>> a.shape
(3,)
>>> b = np.array([[1], [2], [3]])
>>> b.shape
(3, 1)
>>> np.hstack((a[:, None], b))
array([[1, 1],
[2, 2],
[3, 3]])
另一个选择是
np.transpose(np.asmatrix(a))
追加之前。另一个选项是
np.transpose(np.asmatrix(a))
追加前。第一部分为真,但
重塑
无效。有输出吗?你说它不工作是什么意思?函数失败,或者将重新整形的数组输入到hstack
仍然会给您带来问题?问题仍然没有改变。我想知道为什么这个答案被否决。是因为效率吗?我使用这种方法是因为当我开始使用numpy时,所有关于axis的讨论都让我感到困惑。第一部分是正确的,但是restrape
不起作用。有输出吗?你说它不工作是什么意思?函数失败,或者将重新整形的数组输入到hstack
仍然会给您带来问题?问题仍然没有改变。我想知道为什么这个答案被否决。是因为效率吗?我使用这种方法是因为当我开始使用numpy时,所有关于axis的讨论都让我感到困惑。谢谢,这解决了问题。看到另一个选择,我刚刚发现自己作为替代答案。谢谢这解决了。看到另一个选择,我刚刚发现自己作为替代答案。