co-LAB

빅데이터 첫걸음 시작하기 : 데이터분석 인강 3주차 본문

IT LAB/K-Digital Credit

빅데이터 첫걸음 시작하기 : 데이터분석 인강 3주차

Chloe.Choi 2022. 1. 25. 19:34

 3주차 : Python Numpy & Pandas (Library) 

3주차 강의에서는 Python 데이터 분석을 할 때 사용하는 라이브러리인

NumpyPandas의 기본 사용법을 익힌다.

Numpy array 생성과 연산 등 데이터 분석에 활용되는 기본 문법을 연습하고,

Pandas의 기본 자료 구조인 DataFrame의 사용법과 활용 방법을 학습한다.

 

1. NumPy : Numerical Python의 약자
     - 수학 및 과학 연산을 위한 Python 패키지로 수치해석, 통계 관련 기능 구현 시 기본 모듈.
2. Pandas : Python Data Analysis 의 약자
    - 데이터 조작 및 분석을 위한 Python 프로그래밍 언어 용으로 작성된 소프트웨어 라이브러리.
    - 숫자 테이블과 시계열을 조작하기 위한 데이터 구조와 연산 제공

 

빅데이터 분석 첫걸음 시작하기 수강신청 링크 (이미지 클릭)

 

 

 

Python 데이터 분석에 활용되는 라이브러리들의 기본 사용법을 익히고,

데이터 분석에의 활용 방법을 생각해볼 수 있었다.

 

숫자와는 거리가 멀었던 인문계/디자인 전공자에게는

데이터 타입부터 기초 문법을 익히는 과정이 다소 지루하고 어지럽지만,

모든 과정이 지나고 시각화된 결과를 도출했을 때의 성취감을 기대하게 된다.

 

공식이 아닌 문법으로 익히며, 다양한 데이터 실습을 통해

업무에 적용할 수 있을 때까지 부지런히 연습해야겠다고 다짐해본다.

 

한뼘 더 성장할 나를 위해, Cheer up

 

 

 


 

 Numpy 이란 

˙Numerical Python의 줄임말

˙C 언어로 구현된 Python 라이브러리로, 수치해석, 통계 관련 기능 구현 시 기본이 되는 모듈
     벡터 및 행렬 연산에 매우 편리한 기능을 제공한다.

˙다양한 머신러닝 라이브러리들이 사용 (Pandas, Matplotlib, Scipy, Sympy..)

 

˙Numpy Array의 특징 : 행렬, 배열

* Python List와 유사하게 데이터를 한번에 다룰 수 있으나, 차이점이 있다.

1) 모든 원소가 동일한 자료형(data type)이어야 한다.
    → 원소의 type이 지정되어 있으므로, Python List보다 빠르게 처리할 수 있다.

2) 선언할 때 크기를 지정한 후 Array의 크기를 변경할 수 없다.
3) Universal function을 제공하므로, 동일한 연산 반복을 더 빠르게 처리할 수 있다.

 

 

 Numpy 사용법 

1. Numpy array Creation : numpy.array 생성 방법 및 연산자

# 1) numpy 라이브러리 호출
import numpy as np

# 2) python 리스트 선언
data = [1, 2, 3, 4, 5]

# 3) python 2차원 리스트(행렬) 선언
data2 = [
        [1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]
        ]

# 4) 파이썬 list를 numpy array로 변환
arr1 = np.array(data)

# 5) 2차원 리스트를 np.array로 변환
arr2 = np.array(data2)

# numpy.ndarray : ndarray(n-dimensional array)
# numpy array를 만드는 방식의 대부분은 파이썬 리스트를 np.array로 변환하는 방식

#np.array([1, 2, 3, 4, 5]) # list
#np.array(1, 2, 3, 4, 5) # X
#np.array((1, 2, 3, 4, 5)) # tuple

arr2.ndim # arr2의 차원
=> 2
arr2.shape # arr2의 행, 열의 크기
=> (3, 3)
arr2.size # arr2의 행 x 열
=> 9
arr2.dtype # arr2의 원소의 타입 # int64 : integer + 64bits
=> int32
arr2.itemsize # arr2의 원소의 사이즈(bytes) # 64bits = 8B
=> 4
arr2.nbytes # itemsize * size # numpy array가 차지하는 메모리 공간
=> 36

2. Array Initialization : numpy array 초기값 생성 방법

# 0이 5개 있는 array
np.zeros(5)

# 0이 3x3인 array
np.zeros((3,3))

# 1이 3개 있는 array
np.ones(3)

# 1이 2x2인 array
np.ones((2,2))

# 0부터 9까지 숫자를 자동으로 생성한 array
np.arange(10)

# 10부터 99까지 숫자를 자동으로 생성한 array
np.arange(10, 100) # python range 함수와 동일하나, np.array 생성까지 일괄 처리

 

3. Array Operation

#dot product : A @ B

 

 Pandas 이란 

˙Python data analysis의 약자

˙데이터 조작 및 분석을 위한 Python 프로그래밍 언어 용으로 작성된 소프트웨어 라이브러리로,

    정형 데이터 처리에 특화되어 있다.

˙다양한 머신러닝 라이브러리들이 사용 (Scikit-learn, scipy, statsmodel, tensorflow, pytorch, ..)

 

˙Pandas의 특징 : Python 라이브러리, NumPy array 베이스로 지원

* MS Excel과 유사한 기능을 사용하나, 차이점이 있다.

1) Python과 함께 강력한 시너지를 낼 수 있다.
     → Pandas + raw code와 결합하여 End-to-End Model을 구현할 수 있다.

2) 고성능 데이터 처리에 적합하다.
     대용량 데이터 처리가 빠르고, 복잡한 작업을 비교적 손쉽게 처리하고 결합하거나 분리할 수 있다.

3) SpreadSheet와 유사한 DataFrame이라는 효율적인 자료구조를 제공한다.

 

판다스 데이터프레임 구조 (출처 : 빠른손김참치님 블로그)

Comments