Back-End/Numpy 5

split(), stack(), concatenate()

🧐넘파이에서 배열을 분할하거나 병합할 수 있다. 분할할 때 사용하는 함수는 split( )이며, 병합을 할 때 사용하는 함수는 stack( )이다. 👉분할 함수는 vsplit( ), hsplit( ), split( )함수가 있다. np.vsplit( ) _ 행을 기준으로 분할 import numpy as np arr = np.arange(16).reshape(4, 4) print(arr, arr.ndim, arr.shape) ''' [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15]] 2 (4, 4) ''' arr2 = np.vsplit(arr, 2) print(arr2) ''' [array([[0, 1, 2, 3], [4, 5, 6, 7]]), array([[ 8,..

Back-End/Numpy 2022.12.12

sort()

🤔넘파이의 정렬에 대하여 알아보자 ! 넘파이에서 대표적인 정렬 힘수는 두개가 있다. 1. np.sort() 2. array.sort() 각 함수의 특징에 대하여 알아보자 ! import numpy as np arr = np.array([5, 4, 3, 2, 1]) print(arr, arr.ndim, arr.shape) # [5 4 3 2 1] 1 (5,) arr2 = np.sort(arr) print(arr2) # [1 2 3 4 5] print(arr) # [5 4 3 2 1] arr3 = arr.sort() print(arr3) # None print(arr) # [1 2 3 4 5] np.sort() 함수를 사용하였을 경우, 원본 값 arr의 순서는 변하지 않으며, 변수 arr2 의 순서는 변한다..

Back-End/Numpy 2022.12.12

Indexing

👨🏻‍💻이번에는 Numpy의 데이터 추출에 대하여 알아보자 ! 넘파이로 넘어가기 전에 ! 파이썬에서 특정 데이터를 선택하는 방법으로는 인덱싱(Indexing)과 슬라이싱(Slicing)이 존재한다. 인덱싱(Indexing)은 원하는 특정 데이터의 위치를 지정하여 출력하는 방법이다. 슬라이싱(Slicing)은 출력을 원하는 특정 데이터의 범위를 지정하여 출력하는 방법이다. *파이썬에서의 순서는 1부터 시작이 아닌, 0부터 시작한다. 파이썬에서의 인덱싱과 슬라이싱은 아래와 같다. a = [1, 2, 3, 4, 5] # 인덱싱 (Indexing) print(a[0]) # 0번째 순서에 있는 값 출력 # 1 print(a[-1]) # 맨 마지막 순서에 있는 값 출력 # 5 # 슬라이싱 (Slicing) prin..

Back-End/Numpy 2022.12.12

np.adrray()

np.adarry() array의 뜻은 배열이다. np.adarry() 함수는 넘파이의 배열을 만들어주는 함수이다. 🧐그러면 배열은 무엇일까 ? 우선 배열에 대하여 알아야 한다. 스칼라(Scalar)은 하나의 값을 의미한다. 벡터(Vector)는 스칼라의 배열을 의미이며, 1차원이라고도 한다. 매트릭스(Matrix)는 벡터의 배열이며, 2차원이라 한다. 텐서(Tensor)는 매트릭스의 배열이며, 3차원이다. 또 하나 알아두어야 할 것이 있다 ! 파이썬에서는 벡터 연산이 불가능하다. a = [1, 2, 3] print(a * 2) print(type(a)) # 출력값 # [1, 2, 3, 1, 2, 3] # a라는 리스트에 2를 곱해주면 [2, 4, 6]이 출력이 될 줄 알았다. 그러나, 파이썬에서는 위와..

Back-End/Numpy 2022.12.10

Numpy?

🧐넘파이란 무엇일까 ? Numpy 는 Numerical Python의 약자이다. Numerical의 뜻은 '숫자'이다. 넘파이는 파이썬에서 선형대수 기반의 프로그램을 쉽게 다룰 수 있는 패키지이다. 루프를 사용하지 않고 대량 데이터의 배열 연산을 가능하게 하여 빠른 배열 연산 속도가 나온다. 머신러닝에서는 대량의 데이터를 다루기 때문에 빠른 연산 능력이 중요하다. 그렇기 때문에 넘파이는 필수적이다. 파이썬 기반의 머신러닝에서 넘파이는 매우 중요하다. 많은 머신러닝 알고리즘이 넘파이 기반으로 작성되어있고, 알고리즘의 입력 데이터와 출력 데이터를 넘파이 배열 타입으로 사용하기 때문이다. 넘파이가 배열을 다루는 기본 방식을 이해하는 것이 다른 데이터 핸들링 패키지, 판다스를 이해하는데 많은 도움이 된다. 머신..

Back-End/Numpy 2022.12.08