Python NumPy 배열 생성 및 사용

Beginner

소개

이 랩은 NumPy 배열을 생성하고 사용하는 방법에 대한 단계별 가이드를 제공합니다. NumPy 배열은 Python 에서 과학적 컴퓨팅 및 데이터 분석에 사용되는 다차원, 그리드 형태의 구조입니다. NumPy 배열은 Python 리스트보다 빠른 계산, 쉬운 조작, 더 나은 메모리 관리 등 여러 가지 장점을 가지고 있습니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

NumPy 설치

NumPy 배열을 생성하고 사용하기 전에 NumPy 패키지를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다.

!pip install numpy

NumPy 배열 생성

NumPy 배열을 생성하기 위해 numpy.array() 함수를 사용할 수 있습니다. 이 함수에 리스트, 튜플 또는 배열과 유사한 객체를 전달하면 NumPy 배열로 변환됩니다. dtype 매개변수를 사용하여 배열의 데이터 유형을 명시적으로 정의할 수 있습니다.

import numpy as np

## 1 차원 NumPy 배열 생성
arr1 = np.array([1, 2, 3])

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

NumPy 배열의 형태 (Shape) 및 차원 확인

NumPy 배열의 shapendim 속성을 사용하여 각각 형태 (shape) 와 차원을 확인할 수 있습니다. shape 속성은 배열의 각 차원에 있는 요소 수를 튜플로 반환하고, ndim 속성은 배열의 차원 수를 반환합니다.

import numpy as np

arr = np.array([[1, 2, 3],[4, 5, 6]])

print(arr.shape) ## output: (2, 3)
print(arr.ndim) ## output: 2

NumPy 배열 요소 접근 방법

Python 리스트와 마찬가지로 인덱싱 (indexing) 과 슬라이싱 (slicing) 을 사용하여 NumPy 배열의 요소에 접근할 수 있습니다. NumPy 배열의 인덱스는 항상 0 부터 시작합니다.

import numpy as np

arr = np.array([[1, 2, 3],[4, 5, 6]])

print(arr[0, 1]) ## output: 2
print(arr[:, 1]) ## output: array([2, 5])

NumPy 배열 연산 수행 방법

NumPy 배열은 산술 연산 (arithmetic operations), 집계 함수 (aggregation functions), 논리 연산 (logical operations) 등 다양한 연산을 지원합니다. 예를 들어, sum()mean() 함수를 사용하여 NumPy 배열 요소의 합계와 평균을 계산할 수 있습니다.

import numpy as np

arr = np.array([[1, 2, 3],[4, 5, 6]])

print(arr.sum()) ## output: 21
print(arr.mean()) ## output: 3.5

NumPy 배열 형태 변환 및 전치 방법

reshape() 함수를 사용하여 NumPy 배열의 형태를 변환할 수 있습니다. 이 함수는 원하는 형태 (shape) 의 튜플을 인수로 받습니다. 또한 transpose() 함수 또는 T 속성을 사용하여 NumPy 배열을 전치 (transpose) 할 수 있습니다.

import numpy as np

arr = np.array([[1, 2, 3],[4, 5, 6]])

## reshape array to 3 rows and 2 columns
arr_reshaped = arr.reshape((3, 2))

## transpose array
arr_transposed = arr.transpose()
arr_T = arr.T

print(arr_reshaped) ## output: array([[1, 2],[3, 4],[5, 6]])
print(arr_transposed) ## output: array([[1, 4],[2, 5],[3, 6]])
print(arr_T) ## output: array([[1, 4],[2, 5],[3, 6]])

요약

이 랩에서는 Python 에서 NumPy 배열을 생성하고 사용하는 방법을 배웠습니다. 배열 생성, 형태 (shape) 및 차원 확인, 요소 접근, 연산 수행, 형태 변환 및 전치와 같은 기본적인 단계를 다루었습니다. 이러한 기술을 통해 과학적 계산 및 데이터 분석을 위해 다차원 배열을 효율적으로 사용할 수 있습니다.