2024-03-28 12:04:59 发布
网友
我想用以下代码将大小(3,1)的数组重塑为(3,1):
import numpy as np a=np.random.random(size=(4,3,1)) a[1]=a[1].reshape(3,)
但出现以下错误:
ValueError: could not broadcast input array from shape (3) into shape (3,1)
如何解决。你知道吗
据我所知,您的数组由数组的数组(a.shape = (4,3,1))组成。 我确实理解a[1].shape = (3,1)似乎与a[1].shape = (3,)没有太大区别,但是程序语言并不理解((3,1) != (3,)),这意味着(3,1)和(3,)是完全不同的,因为a[2],a[3]仍然有shape = (3,1),数组中的每个数组必须有相同的形状(3,1)。因此,您需要一次重新调整所有数组的形状,或者将a[1]复制到另一个变量,然后重新调整此变量的形状。你知道吗
a.shape = (4,3,1)
a[1].shape = (3,1)
a[1].shape = (3,)
((3,1) != (3,))
(3,1)
(3,)
a[2],a[3]
shape = (3,1)
a[1]
a = a.reshape(4,3)
使用a[1]
或者:
b = a[1] b = b.reshape(3,)
据我所知,您的数组由数组的数组(
a.shape = (4,3,1)
)组成。 我确实理解a[1].shape = (3,1)
似乎与a[1].shape = (3,)
没有太大区别,但是程序语言并不理解((3,1) != (3,))
,这意味着(3,1)
和(3,)
是完全不同的,因为a[2],a[3]
仍然有shape = (3,1)
,数组中的每个数组必须有相同的形状(3,1)。因此,您需要一次重新调整所有数组的形状,或者将a[1]
复制到另一个变量,然后重新调整此变量的形状。你知道吗使用
a[1]
或者:
相关问题 更多 >
编程相关推荐