¿El siguiente comportamiento numpy es intencional o es un error?Por qué Numpy trata a + = b y a = a + b de manera diferente
from numpy import *
a = arange(5)
a = a+2.3
print 'a = ', a
# Output: a = 2.3, 3.3, 4.3, 5.3, 6.3
a = arange(5)
a += 2.3
print 'a = ', a
# Output: a = 2, 3, 4, 5, 6
versión de Python: 2.7.2, versión Numpy: 1.6.1
Entiendo que a es un número entero, sin embargo, el resultado esperado en Python de agregar flotantes y números enteros es un flotante, por lo que esta es una "característica" inesperada – Dhara
@Dhara: Estoy de acuerdo con que esto puede ser inesperado . También puede ser útil. En cualquier caso, he agregado una cita de la documentación que explica el comportamiento. – NPE
Las operaciones in situ pueden ser mucho más rápidas (sin asignación, mejor utilización de la memoria caché), y si puede conservar todas las referencias existentes a esta matriz (si tiene estructuras de datos peludas). También estos son muy útiles para programadores de C/C++/Fortran fondos. –