[Numpy-discussion] chararray __mod__ behavior

Alan McIntyre alan.mcintyre@gmail....
Fri Jul 18 07:15:45 CDT 2008

This seems odd to me:

>>> A=np.array([['%.3f','%d'],['%s','%r']]).view(np.chararray)
>>> A % np.array([[1,2],[3,4]])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/lib/python2.5/site-packages/numpy/core/defchararray.py",
line 126, in __mod__
    newarr[:] = res
ValueError: shape mismatch: objects cannot be broadcast to a single shape

Is this expected behavior?  The % gets broadcast as I'd expect for 1D
arrays, but more dimensions fail as above. Changing the offending line
in defchararray.py to "newarr.flat = res" makes it behave properly.

More information about the Numpy-discussion mailing list