파이썬은 데이터 분석 및 통계 작업을 위한 강력한 도구로, pandas와 matplotlib는 이를 위한 핵심 라이브러리입니다. pandas는 데이터 처리 및 분석에 유용하고, matplotlib는 데이터를 시각화하는 데 유용합니다. 이 글에서는 파이썬을 사용한 통계 기초 분석 방법을 pandas와 matplotlib를 중심으로 살펴보겠습니다.
1. pandas 기본 사용법
pandas는 파이썬에서 데이터를 쉽게 다루고 분석할 수 있게 도와주는 라이브러리입니다. pandas의 핵심 데이터 구조인 Series와 DataFrame을 사용하면, 데이터를 직관적으로 처리할 수 있습니다.
1.1. pandas 설치
| pip install pandas |
1.2. pandas 데이터 구조
- Series: 1차원 배열로, 값과 인덱스를 가지며 간단한 데이터 구조입니다.
- DataFrame: 2차원 테이블 형태로, 행(row)과 열(column)로 구성되어 있으며, 엑셀 시트처럼 데이터를 다룰 수 있습니다.
| import pandas as pd # DataFrame 예시 data = { '이름': ['홍길동', '이순신', '김유신'], '나이': [25, 32, 28], '성별': ['남', '남', '남'] } df = pd.DataFrame(data) print(df) |
1.3. 기본 통계 함수
pandas는 데이터의 요약 통계량을 쉽게 계산할 수 있습니다. 주요 함수들은 다음과 같습니다.
- 평균: df.mean()
- 중앙값: df.median()
- 최소값/최대값: df.min(), df.max()
- 표준편차: df.std()
- 분산: df.var()
- 상관계수: df.corr()
| import pandas as pd # 예시 데이터 data = { 'Height': [150, 160, 170, 180, 175], 'Weight': [50, 60, 65, 80, 70] } df = pd.DataFrame(data) # 평균 구하기 print(df.mean()) # 상관계수 구하기 print(df.corr()) |
이 함수들은 데이터의 중심 경향성과 분포를 빠르게 이해할 수 있게 도와줍니다.
2. matplotlib을 활용한 데이터 시각화
matplotlib는 파이썬에서 데이터를 시각적으로 표현하는 데 사용되는 라이브러리입니다. 기본적인 그래프부터 고급 시각화까지 다양한 형태의 그래프를 그릴 수 있습니다.
2.1. matplotlib 설치
| pip install matplotlib |
2.2. matplotlib의 기본 그래프 그리기
| import matplotlib.pyplot as plt # 예시 데이터 x = [1, 2, 3, 4, 5] y = [1, 4, 9, 16, 25] # 선 그래프 그리기 plt.plot(x, y) plt.title("Line Plot") plt.xlabel("X-axis") plt.ylabel("Y-axis") plt.show() |
이 코드는 기본적인 선 그래프를 그리는 예시입니다. plt.plot()은 데이터를 선으로 연결하여 시각화합니다.
2.3. 히스토그램
히스토그램은 데이터의 분포를 시각적으로 나타내는 유용한 방법입니다. matplotlib을 사용하여 히스토그램을 그리는 방법은 다음과 같습니다.
| import matplotlib.pyplot as plt import numpy as np # 예시 데이터 data = np.random.randn(1000) # 히스토그램 그리기 plt.hist(data, bins=30, edgecolor='black') plt.title("Histogram") plt.xlabel("Values") plt.ylabel("Frequency") plt.show() |
이 코드는 정규 분포를 따른 1000개의 무작위 데이터를 생성하고, 히스토그램을 그립니다.
2.4. 산점도 (Scatter Plot)
산점도는 두 변수 간의 관계를 시각화하는 데 사용됩니다. matplotlib을 이용하여 산점도를 그리는 방법은 다음과 같습니다.
| import matplotlib.pyplot as plt # 예시 데이터 x = [1, 2, 3, 4, 5] y = [2, 3, 5, 7, 11] # 산점도 그리기 plt.scatter(x, y) plt.title("Scatter Plot") plt.xlabel("X-axis") plt.ylabel("Y-axis") plt.show() |
산점도는 변수 간의 상관 관계를 직관적으로 시각화할 수 있습니다.
3. pandas와 matplotlib을 활용한 통계 분석 예시
이제 pandas와 matplotlib을 활용하여 간단한 데이터 분석을 해보겠습니다. 예를 들어, 학생들의 수학 성적 데이터를 이용하여 통계 분석을 수행하고, 그 결과를 시각화할 수 있습니다.
| import pandas as pd import matplotlib.pyplot as plt # 데이터 준비 data = { 'Student': ['John', 'Alice', 'Bob', 'David', 'Eva'], 'Math Score': [88, 92, 79, 85, 91] } df = pd.DataFrame(data) # 기본 통계량 출력 print(df['Math Score'].describe()) # 히스토그램으로 성적 분포 시각화 plt.hist(df['Math Score'], bins=5, edgecolor='black') plt.title("Math Scores Distribution") plt.xlabel("Scores") plt.ylabel("Frequency") plt.show() |
이 코드는 학생들의 수학 성적 데이터를 가지고 기본적인 통계량을 출력하고, 그 분포를 히스토그램으로 시각화합니다.
4. 결론
pandas와 matplotlib을 사용하면 파이썬에서 통계 분석을 쉽고 효율적으로 수행할 수 있습니다. pandas는 데이터를 다루는 데 강력한 기능을 제공하며, matplotlib은 데이터를 시각적으로 표현하는 데 유용합니다. 이 두 라이브러리를 활용하여 통계 분석과 시각화를 동시에 할 수 있어, 데이터의 인사이트를 얻는 데 매우 유용한 도구들입니다.
'학습정보' 카테고리의 다른 글
| 회귀분석 알아보기 : 정의, 종류, 해석 (0) | 2025.01.25 |
|---|---|
| 데이터 분석을 위한 R의 활용법: 통계적 가설 검정 쉽게 하기 (0) | 2025.01.18 |
| 엑셀로 통계 분석하기: 기본 기능에서 고급 분석까지 (0) | 2025.01.18 |
| 데이터 시각화를 위한 도구 추천: Python vs R 비교 (0) | 2025.01.18 |
| 추천 시스템의 동작 원리: 협업 필터링과 콘텐츠 기반 방법 (0) | 2025.01.18 |