AI Study

Python, Pandas, NumPy 문법 비교 및 데이터 분석 필수 문법 정리

jimmmy_jin 2025. 3. 19. 12:23

데이터 분석을 시작하려면 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 → 시각화 순서로 학습하는 것이 좋다. 다음 글에서는 실제 데이터를 활용한 데이터 분석 실습을 진행해보겠다. 🚀