NumPy で Float 配列を Int 配列に変換する
Vaibhav Vaibhav
2023年1月30日
-
NumPy で
ndarray.astype()
を使用して、2D 配列を Float から Int に変換する -
ndarray.asarray()
を使用して、2D 配列を 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 配列のコピーを作成するために使用されます。このメソッドは、dtype
、order
、casting
、subok
、および 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()
関数を使用できます。この関数は、a
、dtype
、order
、および like
の 4つの引数を受け入れます。
a
は、変換する必要のある入力配列を指します。dtype
は、配列を変換する必要のあるデータ型を指します。興味深いことに、dtype
はオプションの引数であり、そのデフォルト値は入力自体から推測されます。order
とlike
も他のオプションの引数です。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