znalazłem następujący zaskakujący zachowanie z NumPy i niestandardową dtype dla ndarray:NumPy: tablica kwestia przypisania przy użyciu niestandardowego dtype
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']
Teraz, to wraca jako zawierający nie [1. 1. 1.] jak można się spodziewać, ale zamiast tego [1. 0. 0.], wykonując zadanie tylko na pierwszej współrzędnej. Mogę to obejść, wykonując zadanie współrzędnych, ale wydaje się to niepotrzebne, ponieważ całe zadanie powinno z pewnością być domyślnym zachowaniem w tym przypadku.
Jakieś myśli o tym, co się tutaj dzieje?
Właśnie tego szukałem, dziękuję. –