如何在NumPy中连接两个一维数组?我试过numpy.concatenate
:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5])
np.concatenate(a, b)
但我得到一个错误:
TypeError:只有长度为1的数组可以转换为Python标量
如何在NumPy中连接两个一维数组?我试过numpy.concatenate
:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5])
np.concatenate(a, b)
但我得到一个错误:
TypeError:只有长度为1的数组可以转换为Python标量
6条答案
按热度按时间mnowg1ta1#
use:
要连接的数组需要作为序列而不是单独的参数传入。
从NumPy documentation:
第一个月
将数组序列联接在一起。
它试图将您的
b
解释为轴参数,这就是为什么它抱怨无法将其转换为标量。41zrol4v2#
存在若干种级联1D阵列的可能性,例如,
所有这些选项对于大型阵列来说都同样快;对于小的,
concatenate
有一点优势:使用perfplot创建图:
qyyhg6bp3#
concatenate
的第一个参数本身应该是要连接的 * 数组序列 *:nqwrtyyt4#
另一种方法是使用"concatenate"的缩写形式,即"r_[...]"或"c_[...]",如下面的示例代码所示(有关其他信息,请参见Link):
结果是:
yvfmudvl5#
以下是使用
numpy.ravel()
、numpy.array()
实现此目的的更多方法,利用了1D数组可以解压缩为普通元素的事实:lvjbypge6#
来自 numpy docs的更多事实:
语法为
numpy.concatenate((a1, a2, ...), axis=0, out=None)
axis = 0表示按行串联axis = 1表示按列串联
希望能有所帮助!