Post

데이터 요약 및 시각화

데이터 요약 및 시각화

1. 데이터 요약

데이터 요약은 데이터의 주요 특징을 파악하기 위해 데이터를 집계하고 요약하는 과정입니다. 다양한 통계량을 사용하여 데이터를 요약할 수 있습니다.

  • 기술 통계량: 평균, 중앙값, 최빈값, 표준 편차, 분산 등 데이터의 분포를 나타내는 통계량입니다.
  • 상관 계수: 두 변수 간의 선형 관계를 나타내는 통계량입니다.
  • 교차표: 범주형 변수 간의 관계를 나타내는 표입니다.
import pandas as pd import numpy as np # 데이터 생성 data = pd.Series(np.random.normal(size=100)) # 기술 통계량 계산 data_describe = data.describe() print(data_describe) # 상관 계수 계산 data1 = pd.Series(np.random.normal(size=100)) data2 = pd.Series(np.random.normal(size=100)) correlation = data1.corr(data2) print(correlation) # 교차표 생성 data_category1 = pd.Series(['A', 'B', 'A', 'C', 'B']) data_category2 = pd.Series(['X', 'Y', 'Y', 'X', 'Z']) crosstab = pd.crosstab(data_category1, data_category2) print(crosstab)

2. 데이터 시각화

데이터 시각화는 데이터를 그래프 등을 사용하여 시각적으로 표현하는 과정입니다. 데이터 시각화를 통해 데이터의 패턴과 특징을 쉽게 파악할 수 있습니다.

  • 히스토그램: 데이터 분포를 나타내는 그래프입니다.
  • 산점도: 두 변수 간의 관계를 나타내는 그래프입니다.
  • 박스 플롯: 데이터 분포를 요약하여 나타내는 그래프입니다.
  • 막대 그래프: 범주형 데이터의 값을 막대로 나타내는 그래프입니다.
  • 선 그래프: 시계열 데이터의 추세를 나타내는 그래프입니다.
import matplotlib.pyplot as plt import seaborn as sns # 히스토그램 plt.hist(data) plt.show() # 산점도 plt.scatter(data1, data2) plt.show() # 박스 플롯 plt.boxplot(data) plt.show() # 막대 그래프 sns.countplot(x=data_category1) plt.show() # 선 그래프 data_time_series = pd.Series(np.random.normal(size=100), index=pd.date_range('2023-01-01', periods=100)) plt.plot(data_time_series) plt.show()

3. 데이터 요약 및 시각화 도구

데이터 요약 및 시각화를 위한 다양한 도구가 있습니다.

  • Python: pandas, matplotlib, seaborn 등 다양한 라이브러리를 제공합니다.
  • R: dplyr, ggplot2 등 다양한 패키지를 제공합니다.
  • Tableau: 데이터 시각화에 특화된 도구입니다.
  • Power BI: 데이터 시각화 및 분석 도구입니다.

4. 추가적인 예시

4.1. 범주형 데이터 요약

import pandas as pd import numpy as np # 데이터 생성 df = pd.DataFrame({ "범주": ['A','B','C','A','B'] }) # 데이터 타입 변경 df["범주"] = pd.Categorical(df["범주"]) # 범주형 데이터 요약 category_counts = df['범주'].value_counts() print(category_counts)

4.2. 수치형 데이터 요약

import pandas as pd import numpy as np # 데이터 생성 df = pd.DataFrame({ "data": }) # 수치형 데이터 요약 data_summary = df.agg(["mean","std","skew","kurt","sum","median","max"]) print(data_summary)

4.3. 그룹화된 데이터 요약

import seaborn as sns # 데이터 로드 titanic = sns.load_dataset('titanic') # 그룹화된 데이터 요약 grouped_data = titanic.groupby(['sex','pclass'])['survived'].mean().reset_index() print(grouped_data)

This post is licensed under CC BY 4.0 by the author.