본문 바로가기

Python/numpy8

(numpy) 배열의 분할 배열의 분할도 배열의 결합과 마찬가지로 나누고자 하는 축을 지정해주어야 한다. 축을 지정해주지 않으면 기본값인 axis=0으로 들어가며 나누고자 하는 값이 나누어 떨어지지 않으면 오류가 발생한다. 예를들어 2행 3열짜리 배열을 행이 3개가 되도록 자른다면 오류가 나는 것 처럼 나누는 수와 축은 나누었을 때 나누어 떨어지는 관계여야 한다. np.split (arr,x,axis) 배열을 분할하는 함수이며 'arr배열을 x개로 axis를 축으로 나눈다'라는 뜻이다. 예시) import numpy as np x = np.array([[1,2,3],[4,5,6]]) print(np.split(x, 3, axis = 1)) >>> [array([[1], [4]]), array([[2], [5]]), array([[.. 2022. 10. 20.
(numpy) 배열의 결합 배열을 결합하기위해서는 특정한 조건이 필요하다. 예를 들어서 행으로 결합한다면 (가로로 붙힌다면) 배열의 세로(행)의 사이즈가 맞아야 한다. 반대로 열로 결합한다면 (세로로 붙힌다면) 당연히 가로 길이가 맞아야 할 것이다. 행으로 결합하기 위해 두 배열을 붙히는데 위의 배열은 세로 길이가 맞아 잘 결합되었지만, 아래 두 배열은 세로 길이가 맞질 않아 결합이 되지 않는다. 따라서 배열을 결합하기 위해선 행/열의 길이를 맞추어야 한다. np.concatenate((arr_1,arr_2),axis = ) arr_1 와 arr_2 두 배열을 합칠 때 사용한다. axis는 축을 의미하는데 0을 넣으면 열로 결합하기 때문에 (아래로 결합) 열의 크기를 맞추어야 하고 1은 가로로 결합한다는 의미이다. 예시) impo.. 2022. 10. 20.
(numpy) random과 관련된 함수 np.random.normal (x, y, z) 범위안의 값을 랜덤으로 생성한다, 이 때 매개변수의 의미는 x: 범위의 시작값, y : 범위의 끝 값, z : 요소의 개수 이다. 예시) import numpy as np a = np.random(np.random.normal(1, 10, 3) print(a) >>> [14.03268414 -5.36156989 7.73318699] np.random.randint (x, y, size) 범위안에 있는 정수 값을 랜덤으로 지정된 배열의 크기만큼 생성한다. 이 때 x와 y값은 범위의 시작과 끝값이며 size는 array의 크기를 의미한다. 예시) import numpy as np a = np.random.randint(5,10,size = (2,4)) prin.. 2022. 10. 20.
(numpy) 특정 값으로 배열 생성 (np.zeros, np.ones, np.empty, np.full) 배열을 생성 할 때 배열 전체에 특정 값을 주어야 한다거나 True와 False 등 추가적인 조건이 붙을 수 있다. 이럴 때를 대비하여 배열을 생성할 때 미리 값을 지정해 주는 함수가 있다. 먼저 0과 1로 이루어진 배열을 생성하는 함수에 대해 써 보려한다. np.zeros (x,y,z) 0으로 이루어진 y행 z열을 가진 array를 생성한다. 0은 False를 뜻하기 때문에 bool 형식에서도 자주 쓰인다. 이 때 x는 z축으로 나열되어 있는 배열을 뜻하며 그림은 다음과 같다. 위 그림은 3행 3열짜리 배열이 2개 있으므로 np.zeros(2,3,3)으로 나타낼 수 있다. 매개변수가 1개이기 때문에 괄호로 묶어줘야함 예시) import numpy as np a = np.zeros ((2, 3, 3)) .. 2022. 10. 20.
(numpy) 타입변환 (np.astype, np.tolist) np.astype (x) : 데이터 타입 변환 매개변수에 원하는 데이터 타입을 지정해 변환한다. 예시) import numpy as np a = np.array([1,2,3]) print('a = ',a.dtype) b = a.astype(float) print('b = ',b.dtype) >>> a = int32 b = float64 int 형식인 a 배열을 float 타입으로 바꿔준다. np.tolist (array) : array 형식인 데이터를 list 형식으로 바꾸어준다. 예시) import numpy as np a = np.array([1,2,3,4]) print(type(a)) b = a.tolist() print(type(b)) >>> a 의 형태는 array이지만 tolist로 바꿔준 후.. 2022. 10. 14.
(numpy) 차원 관련 함수 (np.shape, np.size, np.reshape) np.shape : 매개변수로 받은 array가 몇 행 몇 열인지 튜플 형식으로 반환한다. 예시) import numpy as np arr = np.array([[1,2,3],[4,5,6]]) print(arr.shape) >>> (2, 3) 2행 3열 반환 arr 의 형태는 [[1,2,3], [4,5,6]] 의 형태로도 쓸 수 있으며 shape는 열과 행의 개수를 반환하는 함수이지 인덱스를 반환하지 않는다 np.size : 매개변수 array의 원소의 개수를 반환한다. 예시) import numpy as np arr = [[1,2,3],[4,5,6]] print(np.size(arr)) >>> 6 np.reshape (x,y) : array의 차원과 모양을 매개변수로 받은 x행 y열로 바꿔준다. 이 때.. 2022. 10. 14.