Numpy array element-wise division (1/x)

division, numpy, python

Solution

`1 / array` makes an integer division and returns `array([1, 0, 0, 0])`.

`1. / array` will cast the array to float and do the trick:

>>> array = np.array([1, 2, 3, 4])
>>> 1. / array
array([ 1.        ,  0.5       ,  0.33333333,  0.25      ])

Problem

My question is very simple, suppose that I have an array like ``` array = np.array([1, 2, 3, 4]) ``` and I'd like to get an array like ``` [1, 0.5, 0.3333333, 0.25] ``` However, if you write something like ``` 1/array ``` or ``` np.divide(1.0, array) ``` it won't work. The only way I've found so far is to write something like: ``` print np.divide(np.ones_like(array)*1.0, array) ``` But I'm absolutely certains that there is a better way to do that. Does anyone have any idea?

Original source