14

私の質問は非常に単純です。次のような配列があるとします

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)

しかし、それを行うためのより良い方法があることは絶対に確信しています。誰にもアイデアはありますか?

4

3 に答える 3

20

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      ])
于 2012-04-30T13:48:22.320 に答える
2

私は試した :

inverse=1./array

そしてそれはうまくいくように見えました...その理由

1/array

機能しないのは、配列が整数であり、1/<array_of_integers>整数除算を行うためです。

于 2012-04-30T13:49:33.163 に答える