[SciPy-dev] "fancy index" assignment

Johannes Loehnert a.u.r.e.l.i.a.n at gmx.net
Thu Nov 30 09:02:21 CST 2006


Hi,

I have a problem with fancy assignment. Even though left and right side
of the assignment have the same shape, an exception occurs. numpy is freshly 
built 10 minutes ago.

Minimal example:

####################################################
import numpy

print numpy.__version__
# --> 1.0.1.dev3462

array=numpy.array

m = \
array([[[111, 112, 113, 114, 115, 116],
        [121, 122, 123, 124, 125, 126],
        [131, 132, 133, 134, 135, 136],
        [141, 142, 143, 144, 145, 146],
        [151, 152, 153, 154, 155, 156],
        [161, 162, 163, 164, 165, 166]],

       [[211, 212, 213, 214, 215, 216],
        [221, 222, 223, 224, 225, 226],
        [231, 232, 233, 234, 235, 236],
        [241, 242, 243, 244, 245, 246],
        [251, 252, 253, 254, 255, 256],
        [261, 262, 263, 264, 265, 266]]])

f = \
array([[[10111, 10112],
        [10121, 10122],
        [10131, 10132],
        [10141, 10142],
        [10151, 10152],
        [10161, 10162]],

       [[10211, 10212],
        [10221, 10222],
        [10231, 10232],
        [10241, 10242],
        [10251, 10252],
        [10261, 10262]]])

print m[:,:,(2,4)].shape
# --> (2,6,2)

print f.shape
# --> (2,6,2)

m[:,:,(2,4)] = f
##################################################
# error message:
---------------------------------------------------------------------------
exceptions.ValueError                                Traceback (most recent 
call last)

/home/jloehnert/<console>

ValueError: array is not broadcastable to correct shape
####################################################

With a 2D array this kind of operation works fine. Is this a bug?

Johannes


More information about the Scipy-dev mailing list