NumPy 배열과 데이터 타입

PythonBeginner
지금 연습하기

소개

NumPy 는 Python 프로그래밍 언어를 위한 라이브러리로, Python 에서 수치 연산을 수행하는 데 사용됩니다. NumPy 는 다차원 배열을 사용하여 수치 데이터를 편리하게 처리할 수 있는 방법을 제공합니다. 이 튜토리얼에서는 NumPy 배열을 생성, 접근 및 수정하는 방법과 사용 가능한 다양한 데이터 유형을 살펴보겠습니다.

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

배열 생성

Ternimal 에서 새로운 Python 인터프리터를 엽니다.

python3

배열 작업을 시작하기 전에, 먼저 배열을 생성해야 합니다. NumPy 는 다음과 같은 여러 가지 배열 생성 방법을 제공합니다.

1. np.array()

이 함수는 Python 리스트 또는 튜플로부터 배열을 생성합니다.

import numpy as np

## Python 리스트로부터 배열 생성
my_list = [1, 2, 3, 4, 5]
my_array = np.array(my_list)
print(my_array)  ## Output: [1 2 3 4 5]

## Python 튜플로부터 배열 생성
my_tuple = (6, 7, 8, 9, 10)
my_array = np.array(my_tuple)
print(my_array)  ## Output: [ 6  7  8  9 10]

2. np.zeros()

이 함수는 주어진 모양 (shape) 의 0 으로 채워진 배열을 생성합니다.

## 0 으로 채워진 배열 생성
my_array = np.zeros((3, 4))
print(my_array)
## Output:
## [[0. 0. 0. 0.]
##  [0. 0. 0. 0.]
##  [0. 0. 0. 0.]]

3. np.ones()

이 함수는 주어진 모양의 1 로 채워진 배열을 생성합니다.

## 1 로 채워진 배열 생성
my_array = np.ones((2, 3))
print(my_array)
## Output:
## [[1. 1. 1.]
##  [1. 1. 1.]]

4. np.arange()

이 함수는 주어진 범위 내에서 균등하게 간격을 둔 값으로 배열을 생성합니다.

## 균등하게 간격을 둔 값으로 배열 생성
my_array = np.arange(0, 10, 2)
print(my_array)  ## Output: [0 2 4 6 8]

5. np.linspace()

이 함수는 두 개의 끝점 사이에서 균등하게 간격을 둔 값으로 배열을 생성합니다.

## 두 개의 끝점 사이에서 균등하게 간격을 둔 값으로 배열 생성
my_array = np.linspace(0, 1, 5)
print(my_array)  ## Output: [0.   0.25 0.5  0.75 1.  ]

요소 접근

1 차원 배열의 요소에 접근하려면 해당 인덱스를 사용하면 됩니다.

my_array = np.array([1, 2, 3, 4, 5])
print(my_array[0])  ## Output: 1

다차원 배열의 요소에 접근하려면 각 차원에서 해당 위치를 지정해야 합니다.

my_array = np.array([[1, 2], [3, 4], [5, 6]])
print(my_array[1, 0])  ## Output: 3

요소 수정

배열의 요소 값을 수정하려면 새로운 값을 할당하면 됩니다.

my_array = np.array([1, 2, 3])
my_array[2] = 4
print(my_array)  ## Output: [1 2 4]

배열의 슬라이스 (slice) 도 수정할 수 있습니다.

my_array = np.array([1, 2, 3, 4, 5])
my_array[1:4] = [6, 7, 8]
print(my_array)  ## Output: [1 6 7 8 5]

데이터 타입

NumPy 배열은 정수, 부동 소수점 숫자, 부울 (boolean) 과 같은 다양한 데이터 타입의 요소를 저장할 수 있습니다. NumPy 는 다음과 같은 다양한 데이터 타입을 제공합니다.

데이터 타입 (Data Type) 설명
int_ 정수 (Integer)
int8 8 비트 정수
int16 16 비트 정수
int32 32 비트 정수
int64 64 비트 정수
uint8 부호 없는 8 비트 정수
uint16 부호 없는 16 비트 정수
uint32 부호 없는 32 비트 정수
uint64 부호 없는 64 비트 정수
float_ 부동 소수점 숫자 (Floating point number)
float16 반정밀도 부동 소수점 숫자
float32 단정밀도 부동 소수점 숫자
float64 배정밀도 부동 소수점 숫자
complex_ 복소수 (Complex number)
complex64 두 개의 32 비트 부동 소수점으로 표현되는 복소수
complex128 두 개의 64 비트 부동 소수점으로 표현되는 복소수
bool_ 부울 (Boolean)
object_ 객체 (모든 Python 객체를 포함할 수 있음)

배열의 데이터 타입을 지정하려면 dtype 매개변수를 사용할 수 있습니다.

## 특정 데이터 타입으로 배열 생성
my_array = np.array([1, 2, 3], dtype=np.float64)
print(my_array)  ## Output: [1. 2. 3.]

astype() 메서드를 사용하여 배열을 다른 데이터 타입으로 변환할 수도 있습니다.

## 배열을 다른 데이터 타입으로 변환
my_array = np.array([1, 2, 3], dtype=np.int32)
my_array = my_array.astype(np.float64)
print(my_array)  ## Output: [1. 2. 3.]

요약

이 튜토리얼에서는 NumPy 배열을 생성, 접근 및 수정하는 방법과 사용 가능한 다양한 데이터 타입을 살펴보았습니다. NumPy 는 Python 에서 수치 데이터를 다루기 위한 강력한 라이브러리이며, 배열 조작을 위한 많은 유용한 함수와 메서드를 제공합니다.