[파이썬 라이브러리] Pandas, Numpy, Matplotlib
데이터 분석을 위한 3가지 필수 패키지 : Numpy, Pandas, Matplotlib
1. Pandas
- 파이썬 데이터 (전)처리(분석)분야에서 일반적으로 가장 많이 사용되는 패키지
- < import pandas as pd > - 'pd' 라는 명칭으로 import하는것이 관례
- CSV, 텍스트, Excel, SQL, HTML, JSON 등 다양한 데이터 파일을 읽고 데이터 프레임을 생성할 수 있음
- Pandas에 적합한 분석패키지 -
- SQL테이블 또는 Excel스프레드시트와 같이 이질적으로 유형이 지정된 '열'이 있는 테이블형식 데이터
- 정렬되어있거나 정렬되지않은, 시계열데이터
- 행 및 열 레이블 포함된 임의의 행렬데이터- 통계데이터 세트나 구조화된 데이터세트
- 3가지 데이터구조 사용 : 1)시리즈 Series, 2) 데이터프레임 DataFrame, 3) 패널Panel -
1) 시리즈(Series) : 1차원 배열의 값(values)에 각 값에 대응되는 인덱스(index)를 부여할 수 있는 구조
ex) pd.Series([17000, 18000, 1000, 5000], index=["피자", "치킨", "콜라", "맥주"])
2) 데이터프레임 : 열(columns), 인덱스(index), 값(values)으로 구성, 시리즈데이터가 여러개모여서 2차원구조 갖는것
2. Numpy
- 다차원배열을 쉽게 처리하고 효율적으로 사용할수 있도록 지원하는 (수치 데이터를 다루는) 파이썬 패키지
- Numpy의 기본적인 배열 통계 메서드를 통해 데이터의 기초적인 통계분석 할수있음
- 다차원 행렬 자료구조인 ndarray를 통해 벡터 및 행렬을 사용하는 선형 대수 계산에서 주로 사용
- 차원의 개념을 잘 구현하고있으며, 1차원부터 n차원의 데이터까지 표현함
- Numpy 배열은 Python에서 제공하는 배열보다 빠르고 유연한 기능들을 제공
- import numpy as np -> 'np'라는 명칭으로 import하는것이 관례
ndarray
- np.array()는 리스트, 튜플, 배열로부터 ndarray를 생성 ex) arr = np.array([1,2,3,4]) mat = np.array([[10, 20, 30], [ 60, 70, 80]]) *주의:array() 안에는 하나의 리스트만 들어가므로 리스트의 리스트 넣어야함*- ndarray 배열의 모양, 차수, 데이터타입 확인하기 : shape : 배열의 모양, .ndim : 차원의 수, .dtype : 데이터 타입, .astype() : 배열의 타입변환
- ndarray의 초기화 : np.zeros() 사용 -> 배열의 모든원소에 1 삽입, np.ones() -> 배열의 모든원소에 1 삽입
np.arange() : 0부터 n-1까지의 값을 가지는 배열을 생성
np.arange(i, j, k) : i부터 j-1까지 k씩 증가하는 배열을 생성
3. Matplotlib (맷플롯립)
- 데이터를 차트(chart)나 플롯(plot)으로 시각화하는 패키지 (= 각종 그래프나 챠트 등을 그리는 시각화 기능을 제공)
- 데이터 분석시 이전 데이터 이해를 위한, 그리고 데이터분석후 결과를 시각화하기 위해 사용
- 특징 ) 빠른 텍스트 렌더링, Qualitative 컬러맵, 향상된 이미지지원, 향상된 오프셋 텍스트선택
- 플롯 스타일 : 라인플롯, 스캐터플롯, 히스토그램, 박스플롯, 이미지 플롯
1) 라인플롯 그리기 : plot()에 x축과 y축의 값을 기재하고 그림을 표시하는 show()를 통해서 시각화, 그래프에는 title('제목')을 사용하여 제목을 지정
2) 축 레이블 삽입하기 : xlabel('넣고 싶은 x축이름')과 ylabel('넣고 싶은 y축이름')을 사용
3) 라인 추가와 범례 삽입하기 : 여러개의 라인 플롯을 동시에 사용할 경우 어떤 데이터를 나타내는지를 보여주기 위해 범례(legend)를 사용
부르는 명칭 정리
파이썬 | pandas | numpy | |
a = [1,2,3] | 벡터 | series | ndarry |
- pandas의 DataFrame은 Series의 모음이다
- series의 왼쪽 : index, 오른쪽 : value
DataFrame vs Matrix
DataFrame | Matrix |
문자열, 수치 등 다양한 데이터형 다룸 | 수치를 처리 |
열에 대해 의미가 있음 | 행, 열 모두 의미가 있음 |
reshape 이용해서 행렬의구조 바꿀수있음 |