Hi,
Is there an easy way around this problem, that does not involve fixing the API
(like using NaN instead of 0.0)?
>>> from numpy.random import multinomial
>>> multinomial(100,[ 0.2, 0.4, 0.1, 0.3 ])
array([19, 45, 10, 26])
>>> multinomial( 100, [0.2, 0.0, 0.8, 0.0] )
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "mtrand.pyx", line 1173, in mtrand.RandomState.multinomial
TypeError: exceptions must be strings, classes, or instances, not
exceptions.ValueError
I found a similar problem in scipy.stats.rv_discrete() which was fixed by
adding sort to a dictionary handler:
"""
def reverse_dict(dict):
newdict = {}
for key in dict.keys(): # DUFF
newdict[dict[key]] = key
return newdict
"""
def reverse_dict(dict):
newdict = {}
for key in dict.keys():
sorted_keys = copy(dict.keys())
sorted_keys.sort()
for key in sorted_keys[::-1]: # NEW
newdict[dict[key]] = key
return newdict
Obviously this cannot be done with numpy since it runs in C or something which
I don't understand. Can anyone help? Numpy is great and the simulation I want
to code requires speed.
Thanks for any advice given
Michael
_______________________________________________
Numpy-discussion mailing list
[email protected]
http://projects.scipy.org/mailman/listinfo/numpy-discussion