一尘不染

numpy数组元素明智的除法(1 / x)

python

我的问题很简单,假设我有一个像

array = np.array([1, 2, 3, 4])

我想得到一个像

[1, 0.5, 0.3333333, 0.25]

但是,如果您编写类似

1/array

要么

np.divide(1.0, array)

它不会工作。

到目前为止,我发现的唯一方法是编写如下内容:

print np.divide(np.ones_like(array)*1.0, array)

但我绝对可以确定,有更好的方法可以做到这一点。有谁有想法吗?


阅读 387

收藏
2021-01-20

共1个答案

一尘不染

1 / array进行整数除法并返回array([1, 0, 0, 0])

1. / array 将数组转换为float并完成技巧:

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