13. Data Analysis and Visualization
NumPy와 Pandas를 이용한 데이터 분석 (Data Analysis with NumPy and Pandas)
NumPy
NumPy는 다차원 배열을 쉽게 처리할 수 있는 라이브러리입니다. 이를 통해 수치 데이터를 효율적으로 다룰 수 있습니다.
import numpy as np # NumPy 배열 생성 array = np.array([1, 2, 3, 4, 5]) print(array) # 배열 연산 array = array * 2 print(array) # 2차원 배열 생성 matrix = np.array([[1, 2, 3], [4, 5, 6]]) print(matrix) # 배열 요소 접근 print(matrix[0, 1]) # 2 # 배열 통계 계산 print(np.mean(matrix)) # 3.5 print(np.sum(matrix)) # 21
Pandas
Pandas는 데이터 프레임(DataFrame)을 사용하여 데이터를 쉽게 조작하고 분석할 수 있는 라이브러리입니다.
import pandas as pd # 데이터 프레임 생성 data = { 'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'city': ['New York', 'Los Angeles', 'Chicago'] } df = pd.DataFrame(data) print(df) # 데이터 프레임 정보 확인 print(df.info()) # 데이터 접근 print(df['name']) # 특정 열 print(df.iloc[1]) # 특정 행 # 통계 정보 print(df.describe()) # 데이터 필터링 filtered_df = df[df['age'] > 30] print(filtered_df)
Matplotlib와 Seaborn을 이용한 데이터 시각화 (Data Visualization with Matplotlib and Seaborn)
Matplotlib
Matplotlib는 강력한 2D 플로팅 라이브러리로, 다양한 종류의 그래프를 그릴 수 있습니다.
import matplotlib.pyplot as plt # 데이터 준비 x = [1, 2, 3, 4, 5] y = [10, 15, 13, 18, 16] # 선 그래프 그리기 plt.plot(x, y) plt.xlabel('X-axis') plt.ylabel('Y-axis') plt.title('Line Graph') plt.show() # 바 그래프 그리기 plt.bar(x, y) plt.xlabel('X-axis') plt.ylabel('Y-axis') plt.title('Bar Graph') plt.show() # 히스토그램 그리기 data = np.random.randn(1000) plt.hist(data, bins=30) plt.xlabel('Value') plt.ylabel('Frequency') plt.title('Histogram') plt.show()
Seaborn
Seaborn은 Matplotlib를 기반으로 하는 시각화 라이브러리로, 통계 그래프를 그리는 데 유용합니다.
import seaborn as sns # 샘플 데이터 로드 df = sns.load_dataset('tips') # 히스토그램 sns.histplot(df['total_bill'], kde=True) plt.title('Total Bill Histogram') plt.show() # 산점도 sns.scatterplot(x='total_bill', y='tip', data=df) plt.title('Total Bill vs Tip') plt.show() # 박스 플롯 sns.boxplot(x='day', y='total_bill', data=df) plt.title('Total Bill by Day') plt.show()
위 예제에서 Matplotlib를 사용하여 선 그래프, 바 그래프, 히스토그램을 그렸습니다. Seaborn을 사용하여 히스토그램, 산점도, 박스 플롯을 그렸습니다.
NumPy와 Pandas를 통해 데이터를 효율적으로 분석할 수 있고, Matplotlib와 Seaborn을 사용하여 데이터를 시각적으로 표현할 수 있습니다. 이를 통해 데이터 분석 결과를 쉽게 이해하고 전달할 수 있습니다.