데이터 분석을 시작하려면 Python 기본 문법을 익힌 후, Pandas와 NumPy를 활용하는 방법을 알아야 한다. Pandas는 **데이터프레임(DataFrame)**을 다루는 데 최적화된 라이브러리이며, NumPy는 수학적 연산과 행렬 연산을 빠르게 수행할 수 있는 라이브러리다. 이번 글에서는 Python, Pandas, NumPy의 문법 차이점과 데이터 분석 & 시각화에서 자주 쓰이는 기능들을 정리해본다.
1. Python vs Pandas vs NumPy 문법 비교
기능 Python 기본 문법 Pandas NumPy
배열 생성 | list = [1, 2, 3] | df = pd.DataFrame({'col1': [1, 2, 3]}) | arr = np.array([1, 2, 3]) |
인덱싱 | list[0] | df['col1'][0] | arr[0] |
슬라이싱 | list[1:3] | df.loc[1:3, 'col1'] | arr[1:3] |
평균 계산 | sum(list) / len(list) | df['col1'].mean() | np.mean(arr) |
최대값 찾기 | max(list) | df['col1'].max() | np.max(arr) |
행렬 연산 | X + Y (불가) | df1 + df2 (가능) | arr1 + arr2 (가능) |
💡 정리:
- Python 리스트는 단순한 배열이며, 행렬 연산이 불가능하다.
- Pandas는 데이터프레임을 다루는 데 특화되어 있으며, .loc[], .mean(), .max() 등의 함수가 제공된다.
- NumPy는 행렬 연산과 수학적 연산을 빠르게 처리할 수 있도록 설계된 라이브러리다.
2. Python 기본 문법 (데이터 분석용)
📌 리스트(List) & 딕셔너리(Dictionary) 활용
# 리스트 생성 및 인덱싱
numbers = [10, 20, 30, 40]
print(numbers[0]) # 10
# 딕셔너리 생성
person = {"name": "Alice", "age": 25}
print(person["name"]) # Alice
📌 리스트 내포(List Comprehension)
squared = [x**2 for x in numbers]
print(squared) # [100, 400, 900, 1600]
📌 조건문 & 반복문
for num in numbers:
if num > 20:
print(num) # 30, 40
3. Pandas 필수 문법
📌 데이터프레임 생성
import pandas as pd
# 딕셔너리 -> 데이터프레임 변환
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
print(df)
📌 데이터 확인
print(df.head()) # 첫 5개 행 출력
print(df.info()) # 데이터 타입 및 개수 확인
print(df.describe()) # 기초 통계 요약
📌 데이터 선택
print(df['Name']) # 특정 열 선택
print(df.loc[0]) # 특정 행 선택
print(df.iloc[0, 1]) # 특정 위치의 값 선택
📌 데이터 정렬
sorted_df = df.sort_values(by='Age', ascending=False)
print(sorted_df)
📌 결측치 처리
df.fillna(0) # 결측치를 0으로 채우기
df.dropna() # 결측치가 있는 행 삭제
4. NumPy 필수 문법
📌 배열 생성
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)
📌 배열 연산
print(arr + 10) # [11 12 13 14 15]
print(arr * 2) # [ 2 4 6 8 10]
📌 행렬 연산
matrix = np.array([[1, 2], [3, 4]])
print(np.linalg.inv(matrix)) # 역행렬 계산
5. 데이터 시각화 (Matplotlib & Seaborn)
📌 기본 그래프 그리기
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [10, 20, 25, 30, 40]
plt.plot(x, y, marker='o')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Basic Line Plot')
plt.show()
📌 히스토그램 그리기
import numpy as np
import seaborn as sns
data = np.random.randn(1000)
sns.histplot(data, bins=30, kde=True)
plt.show()
📌 정리
✅ Python은 리스트와 딕셔너리를 활용한 기초 데이터 조작이 가능하다.
✅ Pandas는 데이터프레임을 다루는 강력한 라이브러리로, 데이터 선택, 정렬, 결측치 처리 등의 기능이 제공된다.
✅ NumPy는 수학적 연산 & 행렬 연산에 강점이 있어, 머신러닝 및 데이터 분석에서 필수적이다.
✅ Matplotlib & Seaborn은 데이터 시각화에서 사용되며, 선 그래프, 히스토그램, 산점도 등을 쉽게 구현할 수 있다.
데이터 분석을 시작하는 사람이라면 Python → Pandas → NumPy → 시각화 순서로 학습하는 것이 좋다. 다음 글에서는 실제 데이터를 활용한 데이터 분석 실습을 진행해보겠다. 🚀
'AI Study' 카테고리의 다른 글
인공지능 머신러닝, 어떻게 시작할까? (1) | 2025.03.22 |
---|---|
머신러닝과 데이터 과학에 대한 이해 (0) | 2025.03.22 |
빅데이터와 AI: 데이터가 AI 발전에 중요한 이유 (2) | 2025.03.19 |
Selenium을 통한 브라우저 제어(2) (0) | 2025.03.09 |
파이썬 크롤링_ Selenium 활용(1) (0) | 2025.03.09 |