배열 속성 및 Dtype

NumPyBeginner
지금 연습하기

소개

이 튜토리얼에서는 NumPy 배열 속성, 특히 dtype 속성에 대해 살펴봅니다. NumPy 는 Python 에서 수치 계산을 위한 강력한 라이브러리이며, NumPy 배열은 이 라이브러리의 핵심 데이터 구조입니다.

NumPy 배열은 다차원적이고 동질적인 배열입니다. 즉, 동일한 데이터 유형의 요소를 여러 차원에 저장할 수 있습니다. NumPy 배열은 수치 연산에 효율적이고 편리하며, 다양한 기능과 성능을 제공합니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 중급 레벨의 실험이며 완료율은 80%입니다.학습자들로부터 99%의 긍정적인 리뷰율을 받았습니다.

NumPy 배열 생성하기

NumPy 배열 속성을 살펴보기 전에 먼저 NumPy 배열을 생성해 보겠습니다. numpy.array() 함수를 사용하여 리스트, 튜플 또는 다른 배열로부터 NumPy 배열을 생성할 수 있습니다.

Python 셸 열기

터미널에서 다음 명령을 입력하여 Python 셸을 엽니다.

python3

이제 numpy.array() 함수를 사용하여 NumPy 배열을 생성할 수 있습니다.

import numpy as np

## 리스트에서 1 차원 배열 생성
one_d_array = np.array([1, 2, 3, 4, 5])

## 리스트의 리스트에서 2 차원 배열 생성
two_d_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

NumPy 배열 속성

NumPy 배열은 배열의 속성에 대한 정보를 제공하는 여러 속성을 가지고 있습니다. 예를 들어:

  • shape: 배열의 차원을 나타내는 튜플입니다.
  • size: 배열의 총 요소 수입니다.
  • ndim: 배열의 차원 (축) 입니다.
  • dtype: 배열 요소의 데이터 유형입니다.
  • itemsize: 배열의 각 요소의 바이트 단위 크기입니다.

배열 속성 사용하기

이제 이러한 속성을 실제로 사용할 수 있습니다.

## 2 차원 배열 생성
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

## 배열의 shape 가져오기
print("Shape:", array.shape)  ## Output: (3, 3)

## 배열의 size 가져오기
print("Size:", array.size)  ## Output: 9

## 배열의 차원 수 가져오기
print("Number of dimensions:", array.ndim)  ## Output: 2

## 배열 요소의 데이터 유형 가져오기
print("Data type:", array.dtype)  ## Output: int64 (or int32, depending on your system)

## 배열의 각 요소의 바이트 단위 크기 가져오기
print("Item size:", array.itemsize)  ## Output: 8 (or 4, depending on your system)

Dtype 이해하기

dtype 속성은 배열에 저장된 데이터의 유형을 결정하기 때문에 특히 중요합니다. NumPy 는 정수 (int8, int16, int32, int64), 부호 없는 정수 (uint8, uint16, uint32, uint64), 부동 소수점 숫자 (float16, float32, float64) 및 복소수 (complex64, complex128) 와 같은 다양한 데이터 유형을 지원합니다.

NumPy 배열을 생성할 때 dtype 매개변수를 사용하여 dtype를 지정할 수 있습니다. 지정하지 않으면 NumPy 는 입력 데이터에서 데이터 유형을 추론하려고 시도합니다.

Dtype 사용법

dtype 속성을 사용하는 방법을 살펴보겠습니다.

## 리스트에서 float 배열 생성
float_array = np.array([1.2, 2.3, 3.4, 4.5], dtype=np.float32)
print("Float array dtype:", float_array.dtype)  ## Output: float32

## 리스트에서 정수 배열 생성
int_array = np.array([1, 2, 3, 4, 5], dtype=np.int16)
print("Integer array dtype:", int_array.dtype)  ## Output: int16

## 리스트에서 복소수 배열 생성
complex_array = np.array([1 + 2j, 2 + 3j, 3 + 4j], dtype=np.complex64)
print("Complex array dtype:", complex_array.dtype)  ## Output: complex64

## 배열을 생성하고 Numpy 가 데이터 유형을 추론하도록 함
mixed_array = np.array([1, 2, 3.5, 4.5])
print("Mixed array dtype:", mixed_array.dtype)  ## Output: float64

## 기존 배열의 데이터 유형 변경
new_dtype_array = mixed_array.astype(np.int32)
print("New dtype array:", new_dtype_array)  ## Output: [1 2 3 4]
print("New dtype:", new_dtype_array.dtype)  ## Output: int32

## 지정된 dtype 으로 0 으로 채워진 배열 생성
zeros_array = np.zeros((3, 3), dtype=np.uint8)
print("Zeros array with dtype uint8:\n", zeros_array) ## Output:[[0 0 0] [0 0 0] [0 0 0]]

요약

요약하면, 이 튜토리얼은 NumPy 배열 속성, 특히 dtype 속성에 중점을 두었습니다. NumPy 배열 생성, 중요한 속성 탐색, 그리고 dtype 의 중요성에 대해 다루었습니다. NumPy 배열을 사용하여 Python 에서 효율적이고 정확한 수치 계산을 위해서는 dtype 속성을 이해하고 효과적으로 사용하는 것이 중요합니다. NumPy 배열과 해당 속성에 대한 숙련도를 향상시키려면 계속 연습하십시오.