Numpy 이해하기
1. 빅데이터 분석 및 처리
1) 프로그래밍 언어
- 빅데이터의 정의 : DBMS와 같은 데이터 관리 기법으로 관리하기가 어려운 데이터
- R studio : 통계 계산과 그래픽을 위한 프로그래밍 언어, 소프트웨어 환경이다. 다양한 통계 기법과 수치 해석 기법을 지원한다
- Python : 이해하기 쉽고 유연한 문법, 다양한 라이브러리로 연산능력을 극대화 시켜준다. 높은 접근성을 갖는 특징이있다.
2) 파이썬
빅데이터 분야에서 파이썬을 사용하는 이유는 유연성과 다양 패키지가 목적에 맞게 개발돼있기떄문이다.
빅데이터 기본 프로그래밍 도구
- Numpy : 동일한 데이터 타입을 가진 배열 기반의 데이터 처리
- Pandas data frame 형태로 데이터를 다룸
- Scipy : 과학 계산 작업
- Matplotlib : 데이터 시각화
- Scikit-Learn : 머신러닝
2. 데이터 자장 및 가공
1) 데이터 분석
- 원본 데이터를 숫자 배열로 변환한다
- 편한 방식의 연산 적용
- 연산 결과를 다루기 쉬운 형태로 변환한다.
- 숫자 배열을 효율적으로 저장하고 가공하는 것은 빅데이터 분석을 위한 절차
- 숫자 배열을 전문적으로 다루는 Numpy 패키지가 필요하다
3. Numpy 패키지
1) 넘파이
- 특징 : array 단위로 데이터 관리 및 연산 수행
- array 란? : 동일한 데이터 타입을 갖는 벡터나 행렬
- 배열 규모가 커질수록 데이터 저장 및 처리에 효율적
4. 행렬 생성
1) 넘파이 패키지 임포트
별칭으로 np 를 사용합니다.
import numpy as np
2) array 정의와 사용 방법
- 데이터 생성하기
data1 생성
data2 생성
data1, data2 출력
data1 = [1,2,3,4,5]
data2 = [6,5,4,3,2,1]
print(data1, data2)
- numpy 배열 할당하기
data1의 데이터를 ar1이라는 변수에 numpy 배열을 만들어 할당합니다.
array([1,2,3,4,5])를 출력합니다.
ar1 = np.array(data1)
ar1
- 데이터 타입을 함께 할당해주기
data1의 데이터를 float32라는 데이터 타입과 함께 numpy 배열을 ar2에 할당해줍니다.
array([1.,2.,3.,4.,5.], dtype=float32 ) 출력
ar2 = np.array(data1, dtype='float32')
ar2
- 다차원 배열 초기화
리스트를 사용하여 다차원 배열을 초기화하는 코드
5*3 행렬을 만들어 ar3에 넣는다.
array([[1,2,3],
[2,3,4],
[3,4,5],
[4,5,6],
[5,6,7]]) 출력
ar3 = np.array([range(i, i + 3) for i in data1 ])
ar3
- full 함수
full 함수 ((행렬 크기), 지정 값)
ar4에 full 함수를 저장시켜줍니다
array([[3.14, 3.14, 3.14, 3.14, 3.14],
[3.14, 3.14, 3.14, 3.14, 3.14],
[3.14, 3.14, 3.14, 3.14, 3.14]])
ar4 = np.full((3,5), 3.14)
ar4
- arange 함수
ar5에 0~20까지 2씩 더하는 것을 배열로 만들어 넣어봅니다.
array([0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
ar5=np.arange(0, 20, 2)
ar5
- linspace 함수
ar6 에 0, 1 사이 일정한 간격을 가진 세개의 값으로 채운 배열을 넣는다.
array([0. , 0.5, 1. ]) 출력
ar6 = np.linspace(0, 1, 3)
ar6
- random 함수
ar7에 3*3 행렬의 0과 1사이의 무작위 값으로 채워 넣습니다.
array([[0.185948, 0.185948987, 0.9783541],
[0.898354, 0.9181546, 0.783548989],
[0.515213, 0.,9873215, 0.879213310]]) 출력
ar7 = np.random.random((3, 3))ar7
- randint() 함수
ar8에 3*3 행렬로 0에서 100사이 랜덤한 숫자로 행렬을 넣는다.
array([[1, 5, 18],
[99, 86, 11],
[20,65,21]])
ar8 = np.random.randint(0, 100, (3, 3))
ar8
- eye() 함수
ar9에 3행렬에 0과 1로 구성돼있으며 1이 대각선으로 이뤄지게된 행렬을 넣는다
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
ar9 = np.eye(3)
ar9
5. Numpy 표준 데이터 타입
- bool_ : 1바이트로 저장된 부울 값(참 또는 거짓)
- int_ : 기본 정수 타입(C long과 같음. 일반적으로 int64 또는 int32)
- intc : C int와 동일(일반적으로 일반적으로 int32 또는 int64)
- intp : 인덱싱에 사용하는 정수(C ssize_t와 동일. 일반적으로 int32 또는 int64)
- int8 : 바이트(-128 ~ 127)
- int16 : 정수(-32768~32767)
- int32 : 정수(-2147483648~2147483647)
- int64 : 정수(-9223372036854775808~9223372036854775807)
- uint8 : 부호 없는 정수(0~255)
- uint16 : 부호 없는 정수(0~65535)
- uint32 : 부호 없는 정수(0~4294967295)
- uint64 : 부호 없는 정수(0~18446744073709551615)
- float_ : float64의 약칭
- float16 : 반정밀 부동 소수점: 부호 비트, 5비트 지수, 10비트 기수
- float32 : 단정밀 부동 소수점: 부호 비트, 8비트 지수, 23비트 기수
- float64 : 배정밀 부동 소수점: 부호 비트, 11비트 지수, 53비트 기수
- complex_ : complex128의 약칭
- complex64 : 복소수, 두 개의 32비트 부동 소수점으로 표현
- complex128 : 복소수, 두 개의 64비트 부동 소수점으로 표현
'K-MooC > 파이썬 기반 빅데이터 처리 및 분석 기술' 카테고리의 다른 글
[ KMooc ] 강좌 종료 수료증 (0) | 2021.10.13 |
---|---|
[ Colab ] Pandas 내장 그래프를 활용하여 그래프 그리기 (0) | 2021.08.30 |
Colab을 이용한 환경 구축 - 1 (0) | 2021.07.07 |