Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
697 views
in Technique[技术] by (71.8m points)

python - Numpy array element-wise division (1/x)

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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      ])

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...