da-ta ta-da

데이터 분석 인강 2주차 : Numpy 본문

Data Analyst

데이터 분석 인강 2주차 : Numpy

jess1015 2022. 5. 1. 23:17

1. numpy, numpy array

- numpy(nemerical python)는 수치 계산을 효과적으로 하기 위해 사용된다.

- python에 list와 비슷한 개념으로 numpy에서는 numpy array를 사용한다.

- numpy array에 속한 모든 원소들은 동일한 data type을 갖는다. → data type 체킹 과정이 없어, 계산에 용이하며 빠름

- numpy array는 선언 시 크기로 지정되며, 크기를 변경하는 것은 불가하다.

 

2. numpy

- import numpy as np 라고 선언한 뒤 사용이 가능하다.

- np.array(데이터)

data = [1, 2, 3, 4]
# 파이썬 list를 numpy array로 변환하기
arr1 = np.array(data)

 

- numpy array는 vector 이며, 데이터 분석은 대부분의 데이터를 벡터로 표현해 분석하므로 데이터 분석에 필수적이다.

- numpy 연산은 기본적으로 element wise로 계산이 된다.

- numpy array가 초기값을 가지면서 생성하는 방법: np.zeros(), np.ones(), **np.arange() → python의 range와 동일하게 기능하는데, array 생성까지 자동으로 해준다.

- Broadcast: 서로 행렬의 크기가 다른 numpy array 는 행렬 곱의 연산으로 계산한다.

- Universal Function: 모든 원소에 자동으로 적용되는 함수, /(나누기), + 등. 

# array1의 원소 float로 만들기
array1 = np.array([1, 2, 3])
array1 = array1 / 1 # int 끼리 연산했을 때 결과는 무조건 float가 된다.

- Indexing: 2차원의 데이터를 indexing할 때, array[:, n] 모든 row에 대해서 n+1 번째 원소를 indexing → row x 1 행렬이 생성됨

- Masking: 특정 데이터를 가려서(나타내서) 표현하는 것

- Numpy Methods: radom.randn(정규 분포 값 랜덤 입력), abs(절대값), sqrt(제곱근), square(제곱), ...

- Reshaping array: 

np.arange(1, 10).reshape(3, 3)
# 1 x 1 데이터가 3 x 3 데이터 형태로 변경된다.

- Concatenation of arrays: np.concatenate([array1, array2]), np.vstack([array1, array2]) - 세로로 붙으며 행이 추가되는 형태, nphstack([array1, array2]) - 가로로 붙으며 행은 추가되지 않는 형태

- Aggregation function: sum, mean(평균), min, max, cumsum(누적 합을 원소로), arg+@(index를 찾아주는 함수), argmin, argmax

  ㄴ function 뒤에 붙는 axis = 0은 column별 연산, axis = 1은 row별 연산

 

Comments