Por qué Numpy trata a + = b y a = a + b de manera diferente

¿Es el siguiente comportamiento numpy intencional o es un error?

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 de Numpy: 1.6.1

Respuestas a la pregunta(2)

Su respuesta a la pregunta