- 넘파이를 배워야 하는 이유
- 넘파이 불러오기
- 배열(array) 생성하기
- 다차원 배열(array)
- Numpy 배열 확인하기
- Numpy 연산
6-1.비교 연산
6-2. max, min, sum
- 누적 합(cumulative sum)
- exp() 함수
- sqrt() 함수
1. 넘파이를 배워야 하는 이유
- 대규모 수치 계산을 효율적으로 처리함
- 데이터 과학의 기초
- 다양한 라이브러리와 호환성
파이썬은 대규모 수치 연산을 할 땐 느려진다는 단점이 있다. 이를 보완하기 위해 만들어진 파이썬 라이브러리를 넘파이(Numpy)라고 한다.
- numpy는 Numerical Python의 줄임말
- 파이썬의 list와 달리 모든 원소가 같은 데이터 타입이어서 연산이 빠름.
2. 넘파이 불러오기
- numpy는 자주 사용하는 라이브러리이므로 축약어인 np로 불러오기 --> import numpy as np
- np.array() 함수를 사용하기
3. 배열(array) 생성하기
- np.zeros( ) 함수 : 지정한 크기의 배열을 생성하고, 그 배열의 모든 요소를 0으로 초기화
- np.ones( ) : 모든 요소를 1로 초기화 한 배열

4. 다차원 배열(array)
- 벡터(vector) : 1차원 배열
- 행렬(matrix) : 2차원 배열 -> 2개의 축(axis)를 갖는 배열로 행(row)과 열(column)의 개념이 존재
- 턴서(tensor) : 3차원 이상 배열 : 3개의 축을 갖는 배열로 깊이(depth)가 추가됨
각 행(row)는 []로 둘러싸인 구조를 가지며, 쉼표(,)로 구분된 원소를 갖게 됨.
2차원인 경우
- axis = 0 : 수직 방향 , 위아래로 계산 (↓)
- axis = 1 : 수평 방향, 좌우로 계산 (→)
! 행끼리, 열끼리 계산한다고 외우면 안됨!
3차원인 경우
- axis =0 : 깊이 방향
- axis =1 : 수직 방향
- axis =2 : 수평 방향


5. Numpy 배열 확인하기
- 배열의 차원(Dimension) -> array.ndim
- 배열의 크기(shape)
- 배열이 원소 개수(size) : 전체 원소 개수를 반환
- 배열의 데이터 타입(dtype)
예) int32는 32비트 정수를 나타내는 데이터 타입이라는 말 -> 배열된 원소의 자료형에 따라 결정되며, 메모리 사용량과 연산속도에 영향을 줌.
- list와 달리 모든 원소가 같은 데이터 타입을 가져야 한다.
이런 특징이 빠른 연산을 가능하게 한다.

6. Numpy 연산
- 두 배열의 같은 위치에 있는 원소를 계산한 새로운 배열을 반환함.
- 거듭제곱은 두 번째 배열 값만큼 각각 거듭제곱한다는 의미!

6-1. 비교 연산
- 비교결과 (True, False)를 반환하는 코드
- 동일한 인덱스의 원소끼리 대소 비교

6-2. max, min, sum
- max( ) : 배열에서 가장 큰 값을 반환하는 코드
- min( ) : 배열에서 가장 작은 값을 반환
- sum( ) : 원소들의 합
- 축(axis)를 기준으로 계산 가능


7. 누적 합(cumulative sum)
- cumsum( ) : 배열의 요소들을 누적하여 합을 구한 배열을 반환
- 첫 번째 요소: 배열의 첫 번째 요소
- 두 번째 요소: 첫 번째 요소+두 번째 요소
- 세 번째 요소: 첫 번째 + 두 번째 + 세 번째 요소
- 네 번째 요소: 모든 요소를 더한 값

8. exp() 함수
- Numpy에서 지수함수(exponential funcion)을 계산하기 위해 사용됨.
지수함수
- 변수가 “지수(위에 올라가는 숫자)” 자리에 있는 함수


9. sqrt() 함수 : 제곱근 계산
- exp함수와 마찬가지로 간단한 순자 뿐 아니라 list 형태도 삽입 가능
- 인자로 전달된 값을 제곱근(루트)로 반환함.

비록 아직은 많이 부족하고 느리더라도 힘내자!!!
할 수 있다!!!!!