본문 바로가기
파이썬/파이썬기본문법

파이썬 Numpy 배열 생성

by flycoding 2023. 12. 4.
반응형

파이썬 Numpy ndarray 객체

NumPy는 배열과 관련된 작업에 사용된다. NumPy의 배열 객체를 ndarray라고 한다.
array() 함수를 이용하여 NumPynd array 객체를 생성할 수 있다.

import numpy as np

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

print("arr : ", arr)

print("type(arr) : ", type(arr))

위의 코드를 실행하면 아래 그림과 같다.

파이썬 Numpy ndarray 객체 생성 활용 예제

type(): 이 내장된 파이썬 함수는 전달된 객체의 종류를 알려준다. 위의 코드와 같이 arr은 numpy.ndarray 타입임을 알 수 있다.

 

리스트나 튜플, 또는 배열과 유사한 객체를 array() 메서드로 전달하면 배열로 변환된다:

튜플을 사용하여 NumPy 배열을 만든다:

import numpy as np

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

print("arr : ", arr)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy array() 생성 함수 활용 예제

 

파이썬 배열안의 차수

배열의 차원은 배열 깊이의 한 레벨(네스트된 배열)이다.
nested array: 배열을 요소로 하는 배열이다.

 

파이썬 0-D 배열

0-D 배열, 즉 스칼라는 배열의 요소이다. 배열의 각 값은 0-D 배열이다.

값이 42인 0-D 배열 만들기:

import numpy as np

arr = np.array(42)

print("arr : ", arr)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 0-D 배열 array() 활용 예제

 

파이썬 1-D 배열

0-D 배열을 요소로 하는 배열을 단일 차원 또는 1-D 배열이라고 한다.

가장 일반적이고 기본적인 배열이다.
1,2,3,4,5 값을 포함하는 1-D 배열을 만든다:

import numpy as np

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

print("arr : ", arr)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 1-D 배열 1차원 배열 array() 활용 예제

 

파이썬 2-D 배열

1-D 배열을 요소로 하는 배열을 2-D 배열이라고 한다.
매트릭스 또는 2차 텐서를 나타내기 위해 종종 사용된다.
NumPy에는 numpy.mat라고 하는 행렬 연산 전용의 전체 서브 모듈이 있다

값 1,2,3 및 4,5,6인 두 개의 배열이 포함된 2-D 배열을 만든다:

import numpy as np

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

print("arr : ", arr)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 2-D 배열 2차원 배열 array() 활용 예제

 

파이썬 3-D 배열

2-D 배열(행렬)을 요소로 하는 배열을 3-D 배열이라고 한다.
이들은 종종 3차 텐서를 나타내는 데 사용된다.

두 개의 2-D 배열로 3-D 배열을 생성한다. 둘 다 1,2,3 및 4,5,6 값을 가진 두 개의 배열을 포함한다:

import numpy as np

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

print("arr : ", arr)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 3-D 배열 3차원 배열 array() 활용 예제

 

파이썬 배열 차수 확인 - ndim

NumPy 배열은 배열의 차원 수를 알려주는 정수를 반환하는 ndim 속성을 제공한다.

배열의 차수를 확인한다:

import numpy as np

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

print("a : ", a)
print("a.ndim : ", a.ndim)

print("b : ", b)
print("b.ndim : ", b.ndim)

print("c : ", c)
print("c.ndim : ", c.ndim)

print("d : ", d)
print("d.ndim : ", d.ndim)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 차워수 ndim 속성 활용 예제

 

파이썬 numpy 고차원 배열

배열은 임의의 수의 차원을 가질 수 있다.
배열을 만들 때 ndmin 인수를 사용하여 차원 수를 정의할 수 있다.

5차원으로 배열을 만들고 5차원으로 배열하는지 확인한다:

import numpy as np

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

print("arr : ", arr)
print('arr.ndim(차원수) :', arr.ndim)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 고차원 배열 ndmin 속성 활용 예제

이 배열에서 가장 안쪽의 차원(5번째 dim)은 4개의 요소를 가지고 있고, 4번째 dim은 벡터인 1개의 요소를 가지고 있고, 3번째 dim은 벡터와 행렬인 1개의 요소를 가지고 있고, 2번째 dim은 3D 배열인 1개의 요소를 가지고 있고, 1번째 dim은 4D 배열인 1개의 요소를 가지고 있다.

 

지금까지 파이썬 numpy 배열 생성에 관련해서 살펴보았다. 

생성을 위해 array() 메소드, 배열의 차원수를 확인 혹은 정의하는 ndim에 대해서 살펴보았다.

꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.

모두 화이팅입니다.!!!

 

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

'파이썬 > 파이썬기본문법' 카테고리의 다른 글

파이썬 numpy 배열 슬라이싱  (1) 2023.12.06
파이썬 numpy 배열 인덱스  (0) 2023.12.05
파이썬 Numpy 시작하기  (0) 2023.12.03
파이썬 Numpy  (1) 2023.12.02
파이썬 파일 쓰기  (1) 2023.12.01

댓글