Objek jenis data tutorial NumPy Python

WBOY
Lepaskan: 2022-08-29 20:05:47
ke hadapan
1364 orang telah melayarinya

[Cadangan berkaitan: Tutorial video Python3 ]

Setiap ndarray mempunyai objek jenis data (dtype) yang berkaitan. Objek jenis data ini (dtype) memberitahu kami susun atur tatasusunan. Ini bermakna ia memberi kita maklumat berikut:

  • Jenis data (integer, float, objek Python, dll.)
  • Saiz data (bilangan bait)
  • Susunan bait data (endian kecil atau endian besar)
  • Jika jenis data ialah subarray, apakah bentuk dan jenis datanya. Nilai

ndarray disimpan dalam penimbal, yang boleh dianggap sebagai blok bait memori bersebelahan. Jadi bagaimana bait ini akan ditafsirkan diberikan oleh objek dtype.

Bina objek jenis data (dtype)

Objek jenis data ialah contoh kelas numpy.dtype, anda boleh gunakan numpy.dtype.

Parameter:

obj: Objek yang hendak ditukar kepada objek jenis data.

selaraskan : [bool, pilihan] Tambahkan padding pada medan untuk memadankan apa yang dihasilkan oleh pengkompil C untuk struktur seperti C.

salinan : [bool, pilihan] Buat salinan baharu objek jenis data. Jika Salah, hasilnya mungkin hanya merujuk kepada objek jenis data terbina dalam.

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

Output:

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)
Salin selepas log masuk

Output:

Turutan bait ialah: >
Saiz ialah: 4
Nama jenis data ialah: int32

Penentukan jenis (dalam kes i4 di atas) boleh mengambil bentuk yang berbeza:

b1, i1, i2, i4, i8, u1, u2, u4, u8, f2, f4, f8, c8, c16, a (mewakili bait , integer, tidak bertanda integer, nombor titik terapung, nombor kompleks dan rentetan panjang tetap yang menentukan panjang bait)

int8,...,uint8,...,float16, float32, float64, complex64, complex128 (kali ini bit saiz)

Nota: dtype berbeza daripada jenis.

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

Output:

jenis ialah:
dtype ialah: int32

dengan tatasusunan berstruktur Jenis data objects

Objek jenis data berguna untuk mencipta tatasusunan berstruktur. Tatasusunan berstruktur ialah tatasusunan yang mengandungi pelbagai jenis data. Tatasusunan berstruktur boleh diakses dengan bantuan medan. Medan

adalah seperti memberi nama kepada objek. Dalam kes tatasusunan berstruktur, objek dtype juga akan berstruktur.

# 用于演示字段使用的 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;])
Salin selepas log masuk

Output:

('

# 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;])
Salin selepas log masuk

Output:

('John', [ 6., 7.])
Gred John ialah: [ 6. 7.]
Nama ialah: ['Sarah' 'John']

[Cadangan berkaitan: Tutorial video Python3]

Atas ialah kandungan terperinci Objek jenis data tutorial NumPy Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:jb51.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan