NumPy配列のインプレース型変換 質問する

NumPy配列のインプレース型変換 質問する

NumPy配列が与えられた場合int32、それをどのように変換しますか?float32 所定の位置に? 基本的には、

a = a.astype(numpy.float32)

配列をコピーせずに。大きいです。

これを行う理由は、 の計算に 2 つのアルゴリズムがあるためですa。 1 つは の配列を返しint32、もう 1 つは の配列を返しますfloat32(これは 2 つの異なるアルゴリズムに固有のものです)。以降の計算では、 がaの配列であると想定しますfloat32

現在、私は via と呼ばれる C 関数で変換を行っていますctypes。Python でこれを行う方法はありますか?

ベストアンサー1

更新: この関数は可能な場合にのみコピーを回避するため、この質問に対する正しい答えではありません。unutbuの回答正しいものです。


a = a.astype(numpy.float32, copy=False)

numpy astype にはコピーフラグがあります。なぜそれを使用しないのでしょうか?

おすすめ記事