¿Por qué Python copia matrices NumPy donde la longitud de las dimensiones es la misma?

Tengo un problema al hacer referencia a una matriz NumPy. Tengo una matriz de la forma

import numpy as np
a = [np.array([0.0, 0.2, 0.4, 0.6, 0.8]),
     np.array([0.0, 0.2, 0.4, 0.6, 0.8]),
     np.array([0.0, 0.2, 0.4, 0.6, 0.8])]

Si ahora creo una nueva variable,

b = np.array(a)

y hace

b[0] += 1
print(a)

luegoa no está cambiando.

a = [array([0. , 0.2, 0.4, 0.6, 0.8]),
     array([0. , 0.2, 0.4, 0.6, 0.8]),
     array([0. , 0.2, 0.4, 0.6, 0.8])]

Pero si hago lo mismo con:

a = [np.array([0.0, 0.2, 0.4, 0.6, 0.8]),
     np.array([0.0, 0.2, 0.4, 0.6, 0.8]),
     np.array([0.0, 0.2, 0.4, 0.6])]

so eliminé un número al final de la última dimensión. Luego hago esto de nuevo:

b = np.array(a)
b[0] += 1
print(a)

Ahoraa está cambiando, lo que pensé es el comportamiento normal en Python.

a = [array([1. , 1.2, 1.4, 1.6, 1.8]),
     array([0. , 0.2, 0.4, 0.6, 0.8]),
     array([0. , 0.2, 0.4, 0.6])]

¿Alguien puede explicarme esto?

Respuestas a la pregunta(6)

Su respuesta a la pregunta