NumPy で Float 配列を Int 配列に変換する

Vaibhav Vaibhav 2023年1月30日
  1. NumPy で ndarray.astype() を使用して、2D 配列を Float から Int に変換する
  2. ndarray.asarray() を使用して、2D 配列を Float から Int に変換する
NumPy で Float 配列を Int 配列に変換する

多くの場合、さまざまなユースケースで浮動小数点値を整数値に変換する必要があります。Python 配列と NumPy 配列の場合も同様です。

NumPy のいくつかの関数を使用すると、2D 浮動小数点 NumPy 配列を 2D 整数 NumPy 配列に簡単に変換できます。

この記事では、そのような 2つのメソッド、ndarray.astype()numpy.asarray() について説明します。

NumPy で ndarray.astype() を使用して、2D 配列を Float から Int に変換する

NumPy 配列のタイプは ndarray です。これらのオブジェクトには組み込み関数があり、そのような関数の 1つが astype() です。この関数は、特定のタイプの NumPy 配列のコピーを作成するために使用されます。このメソッドは、dtypeordercastingsubok、および copy の 5つの引数を受け入れます。dtype は、コピーされた配列のデータ型を指します。order はオプションの引数であり、結果の配列のメモリレイアウトを制御します。他のすべてのオプションはオプションです。

この関数の他のパラメーターの詳細については、この関数の公式ドキュメントを参照してくださいここ

この関数をよりよく理解するには、次のコードを参照してください。

import numpy as np

myArray = np.array(
    [[1.0, 2.5, 3.234, 5.99, 99.99999], [0.3, -23.543, 32.9999, 33.0000001, -0.000001]]
)
myArray = myArray.astype(int)
print(myArray)

出力:

[[  1   2   3   5  99]
 [  0 -23  32  33   0]]

ndarray.asarray() を使用して、2D 配列を Float から Int に変換する

次に、asarray() 関数を使用できます。この関数は、adtypeorder、および like の 4つの引数を受け入れます。

  • a は、変換する必要のある入力配列を指します。
  • dtype は、配列を変換する必要のあるデータ型を指します。興味深いことに、dtype はオプションの引数であり、そのデフォルト値は入力自体から推測されます。
  • orderlike も他のオプションの引数です。order は、出力配列のメモリレイアウトを指します。

この関数の引数の詳細については、この関数の公式ドキュメントこちらを参照してください。

import numpy as np

myArray = np.array([[1.923, 2.34, 23.134], [-24.000001, 0.000001, -0.000223]])
myArray = np.asarray(myArray, dtype=int)
print(myArray)

出力:

[[  1   2  23]
 [-24   0   0]]

上記のコードでは、データ型は int として記述されており、出力配列も整数の NumPy 配列です。

著者: Vaibhav Vaibhav
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.