개발/AI&Chatbot

Day04. 모듈 / NumPy / Pandas

honeypeach 2025. 10. 16. 09:40

질문

다차원일 때 [] 안에 들어가는 개수는 모두 동일해야하나요?
예를 들어 [1,2,3], [4,5,6], [7,8,9,10]했을 때 에러가 나는 이유는 무엇인가요?

더보기

할당된 공간에만 값이 저장이 가능하군요!


1️⃣ 모듈(Module)

  • 개념:
    • Python에서 코드 재사용을 위해 만든 파일(.py) 단위의 코드 묶음
    • 다른 파일이나 프로젝트에서 불러와서 사용 가능
  • 사용 방법:
# 표준 모듈 사용 
import math print(math.sqrt(16)) 

# 4.0 # 별칭(alias) 사용 
import math as m print(m.pi) 
# 3.141592... 
# 특정 함수만 가져오기 
from math import sqrt, pi 
print(sqrt(25), pi) 

# 사용자 정의 모듈 
# my_module.py 
def greet(name): 
	return f"Hello, {name}!" 

# main.py 
import my_module print(my_module.greet("honey")) # Hello, honey!
  • 핵심 포인트:
    • 모듈은 코드 재사용 + 관리 편의를 위해 존재
    • 표준 모듈뿐만 아니라 외부 라이브러리도 모듈 형식으로 사용 가능

2️⃣ NumPy

  • 개념:
    • Numerical Python
    • 다차원 배열(array)과 고속 연산 제공
    • 리스트보다 연산 속도가 빠르고, 벡터/행렬 연산 가능
  • 기본 사용법:
# ==============================
# NumPy 예제
# ==============================
import numpy as np

# 1차원 배열
arr1 = np.array([1, 2, 3, 4])
print(arr1 + 1)  # [2 3 4 5]

# 2차원 배열
arr2 = np.array([[1, 2],
                 [3, 4]])
print(arr2 * 2)  # [[2 4]
                 #  [6 8]]

# 배열 생성
zeros = np.zeros((2, 3))  # 2x3 0으로 채운 배열
ones = np.ones((3, 2))    # 3x2 1로 채운 배열
rand = np.random.rand(2, 2)  # 0~1 난수 배열

# 통계 연산
print(np.mean(arr2))  # 2.5
print(np.sum(arr2))   # 10
  • 핵심 포인트:
    • 리스트와 달리 행렬/벡터 연산 가능
    • 수학, 통계, 머신러닝에서 거의 필수

3️⃣ Pandas

  • 개념:
    • 표 형식 데이터 처리에 특화된 라이브러리
    • Series(1차원), DataFrame(2차원) 제공
    • Excel처럼 데이터 분석, 정렬, 필터링 가능
  • 기본 사용법:
# ==============================
# Pandas 예제
# ==============================
import pandas as pd

# Series (1차원)
s = pd.Series([10, 20, 30], index=["a", "b", "c"])
print(s)
# a    10
# b    20
# c    30

# DataFrame (2차원)
data = {
    "name": ["Alice", "Bob", "Charlie"],
    "age": [25, 30, 35]
}
df = pd.DataFrame(data)
print(df)
#      name  age
# 0   Alice   25
# 1     Bob   30
# 2  Charlie  35

# 데이터 선택
print(df["name"])           # 특정 컬럼
print(df.iloc[0])           # 첫 번째 행
print(df[df["age"] > 28])   # 조건 필터링

# 통계
print(df["age"].mean())     # 평균 나이

 

  • 핵심 포인트:
    • CSV, Excel, SQL 데이터 불러오기/저장 가능
    • 데이터 정렬, 그룹화, 결측치 처리 등 데이터 분석에 최적화

💡 정리 포인트:

  • 모듈: 코드 묶음 → 재사용/관리
  • NumPy: 수치 계산 → 배열, 행렬, 벡터 연산
  • Pandas: 데이터 처리 → 표 형식, 필터링, 통계

 

 

 

 

 

 

 

 

 

 

 

728x90