This illustrates the issue:
>>> import numpy as np
>>> print 'x'*np.float64(3.5)
The same construction using a regular python float raises a TypeError, as I would expect:
>>> 'x'*3.5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'
I haven't looked very closely at the implementation of the numpy float class. Please feel free to close this issue if this is working as expected.
This is on numpy 1.9.2 and python 2.7.9