numpy.where()を使用して要素のインデックスを調べようとしていますが、空の配列を返します。np.where()を使用して複雑な2D Python配列の要素のインデックスを見つけることができません
import numpy as np
grid= np.mgrid[-2:2:5*1j, -2:2:11*1j]
X , Y = grid[0], grid[1]
complex_grid = X+1j*Y
xid, yid= np.where(complex_grid == -1.0 - 0.8j)
print(xid, yid)
インデックス(1,3)は返されますが、空の配列とそのデータ型が返されます。 私は何が間違っていますか?
EDIT: - 私の主な目的は、グリッドから与えられた座標(x、y)に対応するインデックスを見つけることです。複雑なグリッドを作ったのは、グリッドから得られる2つの2Dマトリックスを融合できるからです。
それは理由の範囲を計算するのと同じくらい簡単操作の後にあなたをかむことができます丸めの値で山車を比較することがほとんどない良いアイデアません。代わりに絶対差または相対差を小さな許容差と比較してください。また、 'np.allclose'と友人がいます。 –
はい、同意します。複雑な場合でもallclose関数は機能しますか?そして、ここでどうすれば使用できますか? – Manish
reduce操作なしで同じであると思う 'isclose'があります。 '.real'と'別途.imag'をして、はい、それは確かに問題だった 'logical_and'や'& ' –