programming/python

[Python] 데이터 분석 라이브러리의 개요

23. 데이터 분석 라이브러리의 개요

 

23.1 Python의 주요 데이터 분석 라이브러리

23.1.1 넘파이(NumPy)

Python 데이터 분석의 기본적인 기능들을 제공

특히 벡터 및 행렬 연산과 관련된 편리한 기능들을 제공

 

23.1.2 판다스(Pandas)

Series, DataFrame 등의 자료 구조를 활용하여 데이터 분석에 있어 우수한 성능을 발휘함

대량의 데이터를 더욱더 빠른 속도로 처리할 수 있음

 

23.1.3 맷플롯립(Matplotlib)

데이터 분석 결과에 대한 시각화를 빠르고 직관적으로 수행

 

 

23.2 실습예제

# %: 매직 명령어
# 그래프 출력 과정을 볼 수 있도록 설정
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib

 

numpy.random.rand(d0)

# 50개의 난수 생성(0.0 ~ 1.0 사이의 값)
data = np.random.rand(50)
print(type(data))
print(data)

 

pandas.Series(data)

 

# NumPy 배열을 Pandas의 시리즈 자료형으로 변환(인덱스, 데이터의 조합)
seri = pd.Series(data)
print(type(data))
print(data)

 

# x축 인덱스 값, y축 랜덤 값
seri.plot()

 

# 그래프 스타일 변경
matplotlib.style.use("ggplot")

# 그래프 출력
seri.plot()

 

# rand(rows, cols)
# 10행 3열의 행렬
data_set = np.random.rand(10, 3)
print(data_set)
print(type(data_set))   # 변수의 자료형 확인
print(data_set.shape)   # 행렬의 차원 확인

 

# NumPy 행렬을 Pandas의 데이터프레임으로 변환
# 데이터프레임: 행과 열로 데이터를 조회할 수 있음
df = pd.DataFrame(data_set, columns=["A", "B", "C"])
# df
print(df)
print(type(df))

 

df.plot()

# 데이터프레임의 자료를 그래프로 출력
df.plot()

 

df.plot(kind="bar")

# 막대 그래프로 출력
df.plot(kind="bar")

 

# 수평 막대 그래프
df.plot(kind="barh")

 

# 누적 그래프
df.plot(kind="area")

 

df.plot(kind="area", stacked=False)

 

# 0.0 ~ 1.0 사이의 난수 발생
np.random.rand(5)

 

# NumPy의 랜덤 값 5개 => Pandas의 시리즈 자료형으로 변환
seri2 = pd.Series(\
    np.random.rand(5), index=["a", "b", "c", "d", "e"], name="series")
seri2.plot(kind="pie", autopct="%.2f", fontsize=20, figsize=(7, 5))