El significado de remodelar (-1)

El atributo de forma de la nueva matriz debe ser coherente con la matriz original, es decir, el número de elementos en la nueva matriz debe ser igual al número de elementos en la matriz original. Cuando un parámetro es -1, la función de remodelación calculará otro valor de atributo de forma de la matriz de acuerdo con la dimensión del otro parámetro. Aquí hay algunos ejemplos para entender:

>>> z = np.array([[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12],[13, 14, 15, 16]])

>>> print(z)
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]
 [13 14 15 16]]
>>> print(z.shape)
(4, 4)
>>> print(z.reshape(-1))
[ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16]
>>> print(z.reshape(-1,1))  #我们不知道z的shape属性是多少,
                            #但是想让z变成只有一列,行数不知道多少,
                            #通过`z.reshape(-1,1)`,Numpy自动计算出有16行,
                            #新的数组shape属性为(16, 1),与原来的(4, 4)配套。
[[ 1]
 [ 2]
 [ 3]
 [ 4]
 [ 5]
 [ 6]
 [ 7]
 [ 8]
 [ 9]
 [10]
 [11]
 [12]
 [13]
 [14]
 [15]
 [16]]
>>> print(z.reshape(2,-1))
[[ 1  2  3  4  5  6  7  8]
 [ 9 10 11 12 13 14 15 16]]

 

 

943 artículos originales publicados · Me gusta 136 · Visita 330,000+

Supongo que te gusta

Origin blog.csdn.net/weixin_36670529/article/details/105038060
Recomendado
Clasificación