que he encontrado el siguiente comportamiento desconcertante con NumPy y una dtype personalizada para un ndarray:NumPy: array problema de asignación cuando se utiliza dtype encargo
import numpy as np
# Make a custom dtype with a single triplet of floats (my actual dtype has other
# components, but this suffices to demonstrate the problem.
dt = np.dtype([('a', np.float64, 3)])
# Make a zero array with this dtype:
points = np.zeros((4, 4), dtype=dt)
# Try to edit an entry:
points[0][0]['a'] = np.array([1, 1, 1])
print points[0][0]['a']
Ahora bien, esta regresa como que no contenga [1. 1. 1.] como era de esperar, pero en cambio [1. 0. 0.], solo realizando la asignación en la primera coordenada. Puedo evitar esto al realizar la asignación en forma coordinada, pero parece innecesario dado que la asignación completa debería ser el comportamiento predeterminado en este caso.
¿Alguna idea de lo que está pasando aquí?
Justo lo que estaba buscando, gracias. –