NumPy 형태 조작

NumPyBeginner
지금 연습하기

소개

이 랩에서는 NumPy 배열의 형태를 조작할 수 있는 NumPy 형태 조작 함수에 대해 배우게 됩니다.

성과

  • 배열 형태 변환 (Reshaping arrays)
  • 배열 연결 및 분할 (Concatenating and splitting arrays)
  • 배열 전치 (Transposing arrays)
이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 100%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

배열 형태 변환 (Reshaping Arrays)

reshape 함수를 사용하면 NumPy 배열의 형태를 변경할 수 있습니다. reshape 함수의 구문은 다음과 같습니다.

np.reshape(a, new_shape)
  • 여기서 a는 입력 배열이고, new_shape는 배열의 원하는 새로운 형태입니다.

Python 셸 열기

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

python3

NumPy 임포트

NumPy 는 이미 설치되어 있으므로 Python 코드에서 임포트할 수 있습니다.

import numpy as np

배열 생성

예시로 (2, 3) 형태의 배열 a를 생성합니다.

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape)

출력:

(2, 3)

Reshape 사용

reshape 함수를 사용하여 이 배열을 (3, 2) 형태로 변환할 수 있습니다.

b = np.reshape(a, (3, 2))
print(b.shape)
print(b)

출력:

(3, 2)
[[1 2]
 [3 4]
 [5 6]]

배열 연결 및 분할 (Concatenating and Splitting Arrays)

NumPy 는 배열을 연결하기 위한 두 가지 함수를 제공합니다.

  1. np.concatenate: 주어진 축을 따라 배열을 연결합니다.
  2. np.stack: 새로운 축을 따라 배열을 연결합니다.

np.split 함수를 사용하여 배열을 분할할 수 있습니다.

배열 연결 (Concatenating Arrays)

예시로 두 개의 배열 ab를 생성합니다.

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

Concatenate 사용

np.concatenate 함수를 사용하여 첫 번째 축 (0) 을 따라 이 배열들을 연결할 수 있습니다.

c = np.concatenate((a, b))
print(c)

출력:

[1 2 3 4 5 6]

Stack 사용

np.stack 함수를 사용하여 새로운 축을 따라 이 배열들을 연결할 수도 있습니다.

d = np.stack((a, b))
print(d)
print(d.shape)

출력:

[[1 2 3]
 [4 5 6]]
(2, 3)

배열 분할 (Splitting Arrays)

예시로 (6,) 형태의 배열 a를 생성합니다.

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

Split 사용

np.split 함수를 사용하여 이 배열을 길이가 3 인 두 개의 배열로 분할할 수 있습니다.

b, c = np.split(a, 2)
print(b)
print(c)

출력:

[1 2 3]
[4 5 6]

배열 전치 (Transposing Arrays)

transpose 함수를 사용하면 NumPy 배열의 축을 전치할 수 있습니다. transpose 함수의 구문은 다음과 같습니다.

a.transpose([axis1, axis2, ...])
  • 여기서 axis1, axis2 등은 전치할 축입니다.

배열 생성

예시로 (2, 3) 형태의 배열 a를 생성합니다.

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a)
print(a.shape)

출력:

[[1 2 3]
 [4 5 6]]
(2, 3)

Transpose 사용

transpose 함수를 사용하여 이 배열을 전치할 수 있습니다.

b = a.transpose()
print(b)
print(b.shape)

출력:

[[1 4]
 [2 5]
 [3 6]]
(3, 2)

배열의 특정 축을 전치할 수도 있습니다. 예를 들어, 다음 코드를 사용하여 배열 a의 축을 전치하여 (3, 2) 형태를 갖도록 할 수 있습니다.

c = a.transpose(1, 0)
print(c)
print(c.shape)

출력:

[[1 4]
 [2 5]
 [3 6]]
(3, 2)

요약

축하합니다! NumPy Shape Manipulation Lab 을 완료했습니다.

이 랩에서는 NumPy shape 조작 함수인 reshape, concatenate, stack, split, 그리고 transpose를 배웠습니다. 이러한 함수들을 통해 NumPy 배열의 형태를 조작할 수 있으며, 이는 많은 데이터 조작 작업에 필수적입니다.