[파이썬][numpy] numpy 배열 기본 속성

NumPy는 파이썬에서 과학적 계산을 위한 핵심 라이브러리입니다. NumPy 배열은 다차원 행렬 형태로 데이터를 저장하기 위한 고성능의 자료구조입니다. 이번 블로그 포스트에서는 NumPy 배열의 기본 속성 및 사용법에 대해 알아보겠습니다.

배열 생성하기

NumPy 배열은 다양한 방법으로 생성할 수 있습니다. 가장 간단한 방법은 numpy.array 함수를 사용하는 것입니다. 아래는 1차원 배열을 생성하는 예시입니다.

import numpy as np

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

numpy.array 함수는 입력으로 리스트를 받아 NumPy 배열로 변환합니다. 배열의 차원을 확인하기 위해 shape 속성을 사용할 수 있습니다.

print(arr1d.shape)  # (5,)

다차원 배열 생성하기

NumPy 배열은 다차원 행렬로도 생성할 수 있습니다. 아래는 2차원 배열을 생성하는 예시입니다.

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

배열 속성

NumPy 배열은 몇 가지 중요한 속성을 가지고 있습니다. 이들 속성을 활용하여 배열의 크기, 차원, 데이터형 등을 알 수 있습니다.

print(arr2d.ndim)   # 2
print(arr2d.shape)  # (2, 3)
print(arr2d.size)   # 6
print(arr2d.dtype)  # int64

배열 인덱싱과 슬라이싱

NumPy 배열은 인덱싱과 슬라이싱을 통해 원하는 데이터에 쉽게 접근할 수 있습니다. 예를 들어, 아래 코드는 2차원 배열의 요소를 선택하는 예시입니다.

print(arr2d[0, 0])  # 1
print(arr2d[1, 2])  # 6

또한 슬라이싱을 활용하여 배열의 부분 집합을 선택할 수도 있습니다.

print(arr1d[1:4])  # [2 3 4]
print(arr2d[:, 1:])  # [[2 3]
                     #  [5 6]]

배열 연산

NumPy 배열은 벡터화 연산과 브로드캐스팅을 지원합니다. 이를 통해 배열 간의 연산을 간단하게 수행할 수 있습니다. 아래는 배열 연산의 예시입니다.

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

print(arr1 + arr2)  # [5 7 9]
print(arr1 * 2)     # [2 4 6]
print(np.sin(arr1)) # [0.84147098 0.90929743 0.14112001]

NumPy 배열은 많은 과학 및 데이터 분석 라이브러리에서 기본적으로 사용되는 자료구조이기 때문에, 배열의 기본 속성과 기능을 잘 이해하는 것은 중요합니다. 이번 포스트에서는 NumPy 배열의 기본 속성을 알아보았으며, 자세한 내용은 NumPy 공식 문서를 참고하시기 바랍니다.