Python/Python
Python Numpy 모듈 (2. Numpy배열 생성하기)
개발자리
2020. 1. 20. 18:26
반응형
Python 에 고정적인 배열로는 Array 라는 배열이 존재한다 .
import array
L= list(range(10))
A = array.array('i' ,L)
A
여기서 i 는 내용이 정수임을 가리키는 타입 코드이다.
그러나 훨씬 더 유용한것은 Numpy 패키지의 ndarray 객체다 파이썬의 array 객체는 배열 기반의 데이터에 효율적인 저장소를 제공하는 반면 NumPy는 그 데이터에 효율적인 연산을 추가한다 이러한 연산에 대해서는 차후 게시글로 기제할것이고 이번 게시물에서는 NumPy 배열을 생성하는 여러한 벙법을 살펴 볼것이다.
import numpy as np
일단 numpy 모듈을 import 해주고 as np << np 라고 부를것이다.
import numpy as np
np.array([1,2,3,4,5])
일단 리스트와는 다르게 모든 배열을 한 가지에 타입으로 정의해야한다.
그렇지 않고 정수와 부동소수점을 삽입하면은
정수 뒤에 . << float 형으로 변환된것을 확인할수 있다.
명시적으로 결과 배열의 데이터 타입을 설정하려면 dtype 키워드를 사용하면된다.
파이썬 리스트와는 달리 Numpy 배열은 명시적으로 다차원이 가능하다. 다음은 리스트의 리스트를 사용해서 다차원 배열울 초기화 화 하는 한가지 방법이다 .
np.array([range(i,i+3) for i in [2,4,6]])
내부 리스트는 결과로 얻은 이차원 배열의 행으로 취급된다.
특히 규모가 큰 배열의 경우에는 Numpy에 내장된 루틴을 사용해 처음부터 배열을 생성하는 것이 더 효율적이다.
# 0으로 채운 길이 10의 정수 배열 만들기
#np.zeros(갯수, 타입)
np.zeros(10,dtype=int)
#1로 채운 3x5 배열 부동 소수점 배열 만들기
np.ones((3,5) , dtype=float)
# 3x5 배열 로 3.14로 꽉채운 배열 만들기
np.full((3,5) , 3.14)
#선형수열로 채운배열만들기
# 0 에서 시작해 2씩 더해 20까지 채움
#(내장 함수인 range() 와 유사함 )
np.arange(0,20,2)
# 0 과 1사이에 일정한 간격을 가진 다섯개의 값으로 채운 배열 만들기
np.linspace(0,1,5)
#균등한 분포된 3X3 배열 만들기
#0 과 1사이의 난수로 채움
np.random.random((3,3))
#정규 분포 (평균 = 5 표준 편차= 1 )의 난수로 채운 3x3 배열 만들기
np.random.normal(5,1,(3,3))
# [0,10] 구간의 임의의 정수로 채운 3x3 배열 만들기
np.random.randint(0,10,(3,3))
# 3x3 단위 행렬 만들기
np.eye(3)
#세 개의 정수를 가지는 초기화되지 않은 배열 만들기
#값은 해당 메모리 위치에 이미 존재하고 있는 값으로 채움
np.empty(3)
Numpy 모듈 에서 np.함수를 사용해서 배열을 만드는 여러가지 방법을 나열 함
반응형