Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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)_Python_Arrays_Python 2.7_Numpy_Multidimensional Array - Fatal编程技术网

无法将二维数组合并到另一个二维数组(python)

无法将二维数组合并到另一个二维数组(python),python,arrays,python-2.7,numpy,multidimensional-array,Python,Arrays,Python 2.7,Numpy,Multidimensional Array,我有两张名单 list_a list_b 其形状为[10,50]和[40,50] 我试图将它们组合成一个[50,50]数组,从以下代码开始(为可读性而编辑) 但它一直给我一个错误,说 “TypeError:只能将长度为1的数组转换为Python标量” 这里有什么问题,我如何解决?此错误没有多大帮助…np.concatenate需要一个元组作为参数,即它应该是 array_c=np.concatenate((array_a,array_b)) 第一个参数是由任意数量的数组组成的

我有两张名单

    list_a
    list_b
其形状为[10,50]和[40,50] 我试图将它们组合成一个[50,50]数组,从以下代码开始(为可读性而编辑)

但它一直给我一个错误,说

“TypeError:只能将长度为1的数组转换为Python标量”


这里有什么问题,我如何解决?此错误没有多大帮助…

np.concatenate
需要一个元组作为参数,即它应该是

array_c=np.concatenate((array_a,array_b))

第一个参数是由任意数量的数组组成的元组,第二个参数(在您的例子中是
array_b
)告诉
concatenate
,它应该沿着哪个轴操作。

np。concatenate
需要一个元组作为参数,即它应该是

array_c=np.concatenate((array_a,array_b))

第一个参数是由任意数量的数组组成的元组,第二个参数(在您的例子中是
array_b
)告诉
concatenate
,它应该沿着哪个轴操作。

这里的问题是
np.concatenate
要求第一个参数有一个类似数组的对象序列。这里它只需要
array\u a
作为第一个参数。它将
array_b
作为第二个参数,指定要沿哪个数组轴连接。由于此参数需要类似整数,因此它正在尝试将
array_b
转换为整数,但失败,因为它包含多个项。因此出现此错误消息

要解决此问题,您需要将两个数组包装在一个iterable中,例如元组,如下所示:

cc=np.concatenate((array_a,array_b))
这将导致两个数组都作为第一个参数传递给函数。(编辑:在列表中换行也有效,即,
连接([array\u a,array\u b])
。没有尝试过其他形式)

在您的示例中,这将起作用,因为第二个参数默认为
0
,这意味着数组只能在第一个维度(第零个索引维度)中具有不同的长度。对于您来说,这些长度是
10
40
,另一个维度是
50
。如果数组维度已反转,因此它们现在是
[50,10]
[50,40]
,则需要将轴设置为第二维度(索引
1
),如下所示:


这里的问题是,
np.concatenate
要求第一个参数具有一个类似数组的对象的iterable序列。这里它只需要
array\u a
作为第一个参数。它将
array_b
作为第二个参数,指定要沿哪个数组轴连接。由于此参数需要类似整数,因此它正在尝试将
array_b
转换为整数,但失败,因为它包含多个项。因此出现此错误消息

要解决此问题,您需要将两个数组包装在一个iterable中,例如元组,如下所示:

cc=np.concatenate((array_a,array_b))
这将导致两个数组都作为第一个参数传递给函数。(编辑:在列表中换行也有效,即,
连接([array\u a,array\u b])
。没有尝试过其他形式)

在您的示例中,这将起作用,因为第二个参数默认为
0
,这意味着数组只能在第一个维度(第零个索引维度)中具有不同的长度。对于您来说,这些长度是
10
40
,另一个维度是
50
。如果数组维度已反转,因此它们现在是
[50,10]
[50,40]
,则需要将轴设置为第二维度(索引
1
),如下所示: