Pyton 파이썬 numpy 사용법 데이터 분석가

2022. 8. 26. 10:53빅데이터 파이썬 기반

728x90

 

안녕하세요 오늘은 파이썬 numpy 라이브러리를 사용하는 법을 알아보려고 합니다

아마 이 블로그를 보시는 분들 중에는 데이터 분석가분들이 많을 것 같은데요

 

 

numpy를 모르면 데이터 분석가를 할 수 없을 정도의 또는 모르면 손해 볼 정도의

라이브러리인데요

 

 

파이썬에서 numpy 이는 어려운 수식을 다른 프로그래밍 언어에 비해서 쉽게 계산을

할 수 있게끔 해주는 언어인데요 그래서 파이썬으로 데이터 분석을 많이 하시는 분들이

많을 것 같습니다

 

 

오늘은 파이썬으로 데이터 분석을 도와주는 아주 간편하게 쓸 수 있는 수식 numpy 사용법

을 알아보려고 합니다

 

" numpy는 엄청난 스킬이 많은데 전부다 설명하기는 많은 곤란함이 있으나 한번 읽어 두시면 나중에 생각해서

검색하셔서 사용하실 수 있다면 성공입니다 "

 

일단 numpy를 사용하려면 또다시 install을 해줘야 하는데요

참 install 할게 많네요 간단하게 imstall 하는 방법을 알아보겠습니다

아나콘다에 주피터 노트북을 사용하시는 분들은 numpy를 다운로드하지 않아도

아나콘다를 다운로드하시지 않으셔도 됩니다!

비주얼 스튜디오 cmd에

 

 

1. python numpy 라이브러리 다운로드 및 import

 

pip install numpy 를 입력하려 다운로드해 줍니다 자이 게 간단하게 시작하겠습니다

일단 라이브러리를 다운로드했다면 import를 해줘야 하는데요

numpy를 import 해주는데요 as라고 하면 별명을 지을 수 있고 그 별명으로 짧게 사용할 수 있습니다 일반적으로 np라고 별명을 짓고 사용합니다

' import numpy as np '

 

 

 

2 라이브러리 안의 함수와 라이브러리 사용방법

 

사실 너무 파이는 nbarray라는 것이 굉장히 핵심인데요 java 나 c c++로 알고리즘을

짜게 되면 코드가 한 20줄 되는 것을 단 5줄 만에 주릴 수 있습니다

그럼 python의 numpy는 느린 것 아니냐?라고 할 수 있지만 내부 구현은 C언어로

돼있기 때문에 굉장히 빠릅니다 흔히 말해 제일 컴퓨터가 해석하기 쉬운 저 수준 언어로

돼있기 때문에 해석 속도가 엄청 빠릅니다

 

바로 numpy의 설명점에 알아두면 좋은 것

map () : 컬렉션 원소에 대해 계산을 적용함

fliter() : 컬렉션 원소에 대해 특정 원소만 모아 집합 생성

reduce() : 컬렉션 원소에 대해 계산 수행 후 한 개의 스칼라 값 생성

lambad(): 위의 함수에서 사용하는 첫 번째 아규먼트인 함수

 

 

자 이제 바로 가장 많이 사용하는 numpy를 설명하겠습니다

 

 

1. np.array( 리스트 또는 큐플 )

2. arr.size (numpy의 원소의 개수)

3. arr.ndim (배열의 차원 1차원 또는 2차원 또는 3차원)

4. arr.shape (행렬 수 리턴 1차원 일 때는 1행 0 열 반환 )

'arr = np.array([1,2,3,4])'

arr.size 반환값반환 값 : 5 , arr.ndim 반환 값 : 1, arr.shape 반환 값 :(5, )

 

 

5. np.zeros(큐플) (몇 해 몇열인지 입력 시 0으로 채워진 행렬 반환)

np.zeros((2,3)) 반환값 : 000

000

000

 

 

6 np.arange( 숫자 ) (입력한 숫자만큼의 배열을 반환 범위를 정할 수 있음)

 

 

7 배열. reshape(숫자, 숫자) (일차원 배열을 입력한 숫자의 형태로 배열로 만들어줌)

만약 데이터가 10만 개 가있다면 우리가 행과 열의 개수를 딱 맞춰 계산하기 어렵습니다 그렇기 숫자 값 뒤에 -1 넣어주면 파이썬( python)이 알아서 계산해 주는 것을 알 수 있습니다

 

 

8 여러차원배열.flatten()( 다차원의 배열을 하나의 배열로 만들어준다)

 

 

9 가감승제 더하기 빼기 나누기 곱하기

다차원 배열 * 다차원 배열 (자리에 매칭 되게끔 곱하기를 해줌)

( 밑에 연산은 부호만 바꾸기 때문에 사진 생략)

다차원 배열 + 다차원 배열 (자리에 매칭되게끔 더하기를 해줌)

다차원 배열 -다차원 배열 (자리에 매칭되게끔 빼기를 해줌)

다차원 배열 / 다차원 배열 (자리에 매칭되게끔 나누기를 해줌)

 

 

10 np.sqrt (숫자) (루트 씌운 값은 반환)

애는 더블 타입으로 반환

 

11. dot 연산 ( dot 연산호 반환한다)

dot 이란 쉽게 말해 a 배 열의 첫 번째 와 첫 번째 열의 값과 연산하고자 하는 두 번째

행의 값의 전부다 더한다 또다시 첫 번째 행과 두 번째 열의 값을 다 더한다

이렇게 전체 핵과 더하고자 하는 배열의 열과 전부 더한다 밑에 예시

 

12a.sum() , a.max(), a.min() , a.std() , a, mean()

(다 더한 값 최댓값 최솟값 표준편차 평균 )

https://blog.naver.com/kimheebeomnum1/222855897828

위에 블로그는 표준편차에 대한 설명한 것입니다 통계학에서 가장 중요하게 사용되니

꼭 알아두시길 바랍니다

 

 

13 배열[[가져오고 싶은 배열의 번호들]] (, 로 구분하여 여러 개의 배열 값을 가져올 수 있다)

 

 

14 # fancy indexing : 인 데서 안에 정수나 불리언 배열을 사용하여 배열의 값을 추출해 내는 방법 (가장 중요)

배열 값을 숫자 많이 아닌 불린 값을 넣을 수 있음

이렇게 식을 넣어서 그에 맞는 조건들만 맞게 배열들을 가져올 수 있다

 

 

 

15 python 다차원 배열 split (배열을 입맛대로 자를 수 있음)

np.split(배열,[자르고 싶은 대로],axis= 0 (행) or 1(열))

자르고 싶은 대로라고 썼지만 반환값을 튜플로 반환한다 만약

열이 아래의 그림처럼 4개 정도 있는 배열이 있다고 가정해 보자

나는 0 ~ 7까지 잘라서 하나의 배열을 만들고 싶다

위에 그림처럼 위아래로 0 (행) 대로 2개의 배열을 만들 수 있다 나는 만약 0 ~ 7까지 배열

을 만든 후에 8~ 11, 12~ 15까지의 배열을 만들고 싶다 하면

이렇게 슬라의 싱 해주면 된다 어려우니 한번 곱씹어 보자...

 

 

마지막 두 배열 열로 합치기 행으로 합치기

 

자 여기까지가 가 python의 numpy에 대한 설명입니다 python의 numpy는

데이터 분석가들 그리고 인공지능 하시는 분들의 힘듦을 조금 덜어드리고 자 만든

라이브러리입니다 한번 보시고 외우려고 하시지 마시고 그때그때 필요할 때 와서

확인하시는 것입니다 이것 말고 훨씬 많은 기술이 있어 외우려면 머리가 두 개여도 부족합니다

 

python의 있는 numpy 라이브러리를 알아보았습니다 감사합니다 도움 되셨다면

꼭 공감 눌러주세요 힘들게 적었습니다 ..~

 

728x90