Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python NumPyのissubdtype()で異なるサイズの類似データ型が互いにサブタイプでないことを確認する方法

サイズの異なる類似データ型同士が、互いにサブタイプ(派生型)ではないことを確認するには、PythonのNumPyライブラリが提供する numpy.issubdtype() メソッドを使用します。このメソッドは、引数としてdtype(またはdtypeに変換可能なオブジェクト)を受け取り、第一引数が第二引数のサブタイプである場合に True を返します。

確認の手順

まず、必要なライブラリをインポートします。

import numpy as np

次に、issubdtype() メソッドを使って、サイズの異なる類似データ型同士の関係をチェックします。まずはfloat型(浮動小数点数)について、異なるサイズ間で確認してみましょう。

print("Result...", np.issubdtype(np.float32, np.float64))
print("Result...", np.issubdtype(np.float64, np.float32))

続いて、int型(整数)についても、異なるサイズ間で同様に確認します。

print("Result...", np.issubdtype(np.int16, np.int32))
print("Result...", np.issubdtype(np.int32, np.int16))
print("Result...", np.issubdtype(np.int64, np.int32))
print("Result...", np.issubdtype(np.int32, np.int64))

サンプルコード

import numpy as np

# サイズの異なる類似データ型が互いにサブタイプでないことを確認するには、
# Python Numpyの numpy.issubdtype() メソッドを使用します。
# 引数には dtype または dtype に変換可能なオブジェクトを指定します。
print("Using the issubdtype() method in Numpy\n")

# float型(異なるサイズ)の確認
print("Result...", np.issubdtype(np.float32, np.float64))
print("Result...", np.issubdtype(np.float64, np.float32))

# int型(異なるサイズ)の確認
print("Result...", np.issubdtype(np.int16, np.int32))
print("Result...", np.issubdtype(np.int32, np.int16))
print("Result...", np.issubdtype(np.int64, np.int32))
print("Result...", np.issubdtype(np.int32, np.int64))

実行結果

Using the issubdtype() method in Numpy

Result... False
Result... False
Result... False
Result... False
Result... False
Result... False

解説

実行結果からわかるように、すべての組み合わせで False が返されました。これは、float32float64、あるいは int16int32int64 のように同じ種類でもビット幅が異なるデータ型同士は、NumPyの型階層において互いにサブタイプの関係にないことを示しています。サイズの異なるこれらの型は独立した型として扱われるため、issubdtype() を使えばこの関係性を簡単に検証できます。

  1. Python 3の標準データ型とは?数値・シーケンス・辞書の基本をわかりやすく解説

    Python 3の標準データ型の概要Python 3に標準で用意されているデータ型は、大きく分けて「数値型」「シーケンス型」「辞書(ディクショナリ)型」の3つに分類できます。辞書はキーと値のペアを格納するコレクションであり、Pythonプログラミングにおいて最も頻繁に使われるデータ構造の一つです。数値型(Numeric Types)数値型には「整数(int)」「浮動小数点数(float)」「複素数(complex)」の3種類があります。整数(int):小数点を含まない整数値です。例:10、-10浮動小数点数(float):小数部分を持つ実数です。例:1.55、0.005複素数(complex)

  2. Pythonの主なデータ型変換関数まとめ|int・float・str・listなどの使い方を実例付きで解説

    Pythonには、あるデータ型から別のデータ型へ値を変換するための組み込み関数が多数用意されています。この記事では、数値変換やコレクション変換に使える主要なデータ変換関数を、実際の実行例とともにわかりやすく解説します。 数値データの変換関数 int():整数への変換 浮動小数点数や、整数を表す文字列を整数(int)オブジェクトに変換します。文字列を変換する場合は、第2引数に基数を指定することで、8進数や16進数の文字列を整数に変換することもできます。 >>> int(11) 11 >>> int(11.15) 11 >>> int(2