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 にはコピーフラグがあります。なぜそれを使用しないのでしょうか?