Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将(hstack)一个可编译数组附加到矩阵后返回错误_Python_Append - Fatal编程技术网

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的讨论都让我感到困惑。谢谢,这解决了问题。看到另一个选择,我刚刚发现自己作为替代答案。谢谢这解决了。看到另一个选择,我刚刚发现自己作为替代答案。