ホームページ  >  記事  >  バックエンド開発  >  Python NumPy チュートリアルのデータ型オブジェクト

Python NumPy チュートリアルのデータ型オブジェクト

WBOY
WBOY転載
2022-08-29 11:48:091336ブラウズ

[関連する推奨事項: Python3 ビデオ チュートリアル ]

各 ndarray には、関連付けられたデータ型 (dtype) オブジェクトがあります。このデータ型オブジェクト (dtype) は、配列のレイアウトを示します。これは、次の情報が得られることを意味します:

  • データ型 (整数、浮動小数点数、Python オブジェクトなど)
  • データ サイズ (バイト数)
  • データのエンディアン (リトル エンディアンまたはビッグ エンディアン)
  • データ型がサブ配列の場合、その形状とデータ型は何ですか。

ndarray の値はバッファに格納され、メモリ バイトの連続したブロックとして見ることができます。したがって、これらのバイトがどのように解釈されるかは、dtype オブジェクトによって指定されます。

データ型 (dtype) オブジェクトの構築

データ型オブジェクトは numpy.dtype クラスのインスタンスであり、numpy.dtype.

を使用できます。

パラメータ:

obj: データ型オブジェクトに変換されるオブジェクト。

align : [bool、オプション] C コンパイラが C ライクな構造に対して出力するものと一致するようにフィールドにパディングを追加します。

copy : [ブール値、オプション] データ型オブジェクトの新しいコピーを作成します。 False の場合、結果は単に組み込みデータ型オブジェクトへの参照である可能性があります。

# Python 程序创建数据类型对象
import numpy as np
 
# np.int16 被转换为数据类型对象。
print(np.dtype(np.int16))

出力:

#int16

# Python 程序创建一个包含 32 位大端整数的数据类型对象
import numpy as np
 
# i4 表示大小为 4 字节的整数
# > 表示大端字节序和
# < 表示小端编码。
# dt 是一个 dtype 对象
dt = np.dtype(&#39;>i4&#39;)
 
print("Byte order is:",dt.byteorder)
 
print("Size is:", dt.itemsize)
 
print("Data type is:", dt.name)

出力:

バイト順序は: >

サイズは: 4
データ型の名前は: int32

型指定子 (上記の場合は i4) を取得できますさまざまな形式:

b1、i1、i2、i4、i8、u1、u2、u4、u8、f2、f4、f8、c8、c16、a (バイト、整数、なしを表す符号付き整数) 、浮動小数点数、

バイト 長さを指定する複素数、および固定長文字列)

int8,...,uint8,...,float16、float32、float64、complex64、complex128 (今回は

ビット サイズ)

注: dtype は type とは異なります。

# 用于区分类型和数据类型的 Python 程序。
import numpy as np
 
a = np.array([1])
 
print("type is: ",type(a))
print("dtype is: ",a.dtype)

出力:

type is:

dtype is: int32

構造化配列のデータ型 Object

データ型オブジェクトは、構造化配列の作成に役立ちます。構造化配列は、さまざまなタイプのデータを含む配列です。構造化配列には、フィールドを使用してアクセスできます。

フィールドはオブジェクトに名前を付けるようなものです。構造化配列の場合、dtype オブジェクトも構造化されます。

# 用于演示字段使用的 Python 程序
import numpy as np
 
# 一种结构化数据类型,包含一个 16 字符的字符串(在“name”字段中)和两个 64 位浮点数的子数组(在“grades”字段中)
 
dt = np.dtype([(&#39;name&#39;, np.unicode_, 16),
               (&#39;grades&#39;, np.float64, (2,))])
 
# 具有字段等级的对象的数据类型
print(dt[&#39;grades&#39;])
 
# 具有字段名称的对象的数据类型
print(dt[&#39;name&#39;])

出力:

('

# Python 程序演示了数据类型对象与结构化数组的使用。
import numpy as np
 
dt = np.dtype([(&#39;name&#39;, np.unicode_, 16),
               (&#39;grades&#39;, np.float64, (2,))])
 
# x 是一个包含学生姓名和分数的结构化数组。
# 学生姓名的数据类型是np.unicode_,分数的数据类型是np.float(64)
x = np.array([(&#39;Sarah&#39;, (8.0, 7.0)),
              (&#39;John&#39;, (6.0, 7.0))], dtype=dt)
 
print(x[1])
 
print("Grades of John are: ", x[1][&#39;grades&#39;])
print("Names are: ", x[&#39;name&#39;])

出力:

##('John', [ 6., 7.])
ジョンの等級は次のとおりです: [ 6. 7.]

名前は次のとおりです: ['サラ' ' John']

[関連する推奨事項:
Python3 ビデオ チュートリアル

]

以上がPython NumPy チュートリアルのデータ型オブジェクトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。