Por que Numpy trata a + = b e a = a + b de forma diferente

O seguinte comportamento numpy é intencional ou é um bug?

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

Versão Python: 2.7.2, versão Numpy: 1.6.1