>  기사  >  백엔드 개발  >  Python NumPy 튜토리얼 데이터 유형 객체

Python NumPy 튜토리얼 데이터 유형 객체

WBOY
WBOY앞으로
2022-08-29 11:48:091344검색

【관련 추천: Python3 비디오 튜토리얼

각 ndarray에는 연관된 데이터 유형(dtype) 객체가 있습니다. 이 데이터 유형 객체(dtype)는 배열의 레이아웃을 알려줍니다. 이는 다음 정보를 제공한다는 의미입니다.

  • 데이터 유형(정수, 부동 소수점, Python 객체 등)
  • 데이터 크기(바이트 수)
  • 데이터의 엔디안(리틀 엔디안 또는 빅 엔디안)
  • If 데이터 유형은 하위 배열이며, 그 모양과 데이터 유형은 무엇입니까?

ndarray의 값은 버퍼에 저장되며, 이는 연속적인 메모리 바이트 블록으로 간주될 수 있습니다. 따라서 이러한 바이트가 해석되는 방법은 dtype 개체에 의해 제공됩니다.

데이터 유형(dtype) 객체를 구성합니다.

데이터 유형 객체는 numpy.dtype 클래스의 인스턴스이며 사용할 수 있습니다. numpy.dtype.

매개변수:

obj: a로 변환할 객체 데이터 유형 개체.

align : [bool, 선택 사항] C 컴파일러가 C와 유사한 구조에 대해 출력하는 내용과 일치하도록 필드에 패딩을 추가합니다.

copy : [bool, 선택 사항] 데이터 유형 개체의 새 복사본을 만듭니다. 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은 유형과 다릅니다.

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

출력:

type is:
dtype is: int32

구조적 배열이 있는 데이터 유형 개체

데이터 유형 개체는 구조적 배열을 만드는 데 유용합니다. 구조화된 배열은 다양한 유형의 데이터를 포함하는 배열입니다. 구조화된 배열은 필드를 사용하여 액세스할 수 있습니다.

필드는 객체에 이름을 부여하는 것과 같습니다. 구조화된 배열의 경우 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.])
John의 성적 는: [ 6. 7.]
이름은: ['Sarah' 'John']

【관련 권장 사항:Python3 비디오 튜토리얼

위 내용은 Python NumPy 튜토리얼 데이터 유형 객체의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제