Python/초심자를 위한 빅데이터 분석 및 머신러닝 응용과정

[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 18강 - numpy

김초송 2022. 10. 25. 23:02

numpy

- 행렬 연산하는 패키지

- ndarray : 한 가지 데이터 타입만 사용 가능  = 데이터들의 타입이 int, float, boolean, string 타입이 동일해야 한다 

- shape : num, - 1차원 데이터의 데이터 개수

                row, column - 2차원 데이터의 행, 열

- .reshape(행, 열) : array type으로 변형

- .dtype : array안에 데이터 타입 확인

 

데이터 수정

- array[행, 열] = 바꾸고 싶은 값

- array[행] = [행 값 전체]

 

array 브로드캐스팅

- 차원이 다른 연산을 동일한 차원으로 자동으로 변경시켜 연산을 가능하게 하는 것

# 리스트는 * 10은 데이터 10번 반복임
# array는 데이터 값에 연산

ary * 10
ary + 10

 

array 조건 선택

- 일종의 mask 기능

- 특정 조건에 맞는 값만 찾아낼 때

- arrayp[mask] : True 위치의 데이터만 뽑아내어 형태와 상관없이 값만 array로 출력

                           = 값 : 원하는 조건의 값만 변경

ary = np.array([[1,2,3],[0,0,0]])
ary[1] = [4,5,6]

idx = ary4 >= 5
idx

# 결과
# array([[False, False, False],
#       [False,  True,  True]])

ary[idx]
# array([3, 4])

 

0 행렬,  1 행렬

- 0 행렬 생성 : np.zeros((행, 열))

- 1 행렬 생성 : np.ones((행, 열))

- ((차원, 행, 열))

- ((2, 2, 3)) : 2차원 2행 3열 생성

- 튜플로 행열 작성

- float 타입

- 차원값이 없으면 기본적으로 2차원 데이터

- 열 값이 없으면 1차원 데이터

 

행렬 데이터 타입 변경

- .astype('원하는 타입')

zero_ary = np.zeros((2,3))
zero_ary2 = zero_ary.astype('int')
zero_ary2, zero_ary2.dtype

 

범위값 array 생성

- .arange(시작, 끝, 간격)

- 리스트 = [i for i range()]와 똑같이 생성됨

arg = np.arange(1, 11, 2)
# array([1,3,5,7,9])