pythonのnumpy
では、なぜogrid
はいつもint64
の結果を生成しますか?ogridのdtypeはnumpyで指定できますか?
私のアプリケーションでは、出力のコンポーネントが後で一緒に放送されるときに再生されるメモリの制限のため、int64
は使用しません。事後作り直すよりも任意のより良い代替手段があります:
y, x = np.ogrid[:9000,:9000]
y = y.astype(np.int16)
x = x.astype(np.int16)
他のほとんどのnumpyのためには、クリーンなソリューションがdtype=...
オプションの引数を使用することです呼び出しますが、ogrid
は関数として呼び出されていません。代わりにのような演算子に匹敵するように見えますが、通常はnp.add(a,b,dtype=np.int8)
のような選択肢があります。