본문 바로가기
Computer Science/Python

[Python] Numpy를 이용한 배열 만들기

by 진뚱 2022. 8. 10.
728x90

Numpy란 무엇인가?

Numpy의 경우는 Numerical Python의 약자로, Python에서 대규모 다차원 배열을 다룰 수 있게 도와주는 라이브러리 이다.

 

그럼 python에 있는 list를 통해서 하는것과 무엇이 다른가?

그것보다 빠르고 메모리를 효율적으로 사용하여 대용량 데이터를 처리할 때 효율적으로 처리가 가능한 장점이 있다.

 

그렇다면 Numpy를 이용하여 배열을 만드는 방법을 알아보자

 

Numpy 배열 만드는 방법

list(range(10)) #0부터 시작하여 10개의 배열을 만든다.
# [0,1,2,3,4,5,6,7,8,9]

import numpy as np
np.array([1,2,3,4,5])
# [1 2 3 4 5]

Numpy 를 이용하게 되면 이렇게 array 안쪽에 필요한 배열을 설정해서 만들어 넣을 수 있다.

 

배열 데이터 타입 - dtype

arr = np.array([1,2,3,4], dtype=float)
# array([1.,2.,3.,4.])

arr.dtype
# dtype('float64')

arr.astype(int)
# array ([1,2,3,4])

python에서 사용하는 list와 다르게 array 는 단일타입으로 구성되어있다.

 

배열 데이터 타입 dtype

dtype 설명 다양한 표현
int 정수형 타입 i, int_, int32, int64, i8
float 실수형 타입 f,float_, float32, float64, f8
str 문자열 타입 str, U, U32
bool 부울 타입 ?, bool_

 

다양한 배열 만들기

# 10개의 0으로 채워진 int 배열을 만들기
np.zeros(10, dtype=int)
#array([0,0,0,0,0,0,0,0,0,0])

# 3x5의 float 타입으로 이루어진 1로 채운 배열 만들기
np.ones((3,5), dtype=float)
# array([[1., 1., 1., 1., 1.],
#        [1., 1., 1., 1., 1.],
#        [1., 1., 1., 1., 1.]])

# Start부터 End까지 2만큼 올려가며 배열 만들기
np.arange(0, 20, 2) # (start, end, step)
# array([0,2,4,6,8,10,12,14,16,18])

# Start부터 End사이의 값을 N 등분 해서 배열로 채우기
np.linspace(0, 1, 5) # (start, end, N)
# array([0., 0.25, 0.5, 0.75, 1.])

#난수로 채워진 배열 만들기
np.random.random((2,2))
# array ([0.198232837, 0.93847593],
#        [0.547382745, 0.34757545]])

#정규 분포로부터 샘플링 된 난수 배열 만들기
np.random.normal(0,1,2) # N(0,1^2)로 부터 얻은 난수 2개
# array ([0.34543566, -0.9378456])

#임의의 int 배열 만들기
np.random.randint(0,10,2)
# array ([5,2])

 

 

728x90

'Computer Science > Python' 카테고리의 다른 글

[Python] Numpy 배열 사용법  (0) 2022.08.10

댓글