학습/데이터 분석

Python Pandas 기초 정리 1탄: 개요, Series, DataFrame

DataJ 2025. 5. 12. 09:11

🧠 1. Pandas란?

  • Python의 데이터 분석 필수 라이브러리
  • 표 형식의 데이터(엑셀처럼)를 쉽게 다룰 수 있음
  • 시계열, 통계 분석, 결측치 처리, 그룹 연산, 파일 입출력에 강력함
import pandas as pd

🔶 2. 핵심 구조: Series & DataFrame

📌 Series

  • 1차원 데이터 구조 (리스트 + 인덱스 형태)
  • 단일 열 데이터를 표현할 때 사용
import pandas as pd

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

# 출력 결과:
# a    10
# b    20
# c    30
# dtype: int64

📎 자주 사용하는 속성과 메서드:

  • s.values → 값만 추출
  • s.index → 인덱스 정보
  • s.mean() → 평균값 계산
  • s.sort_values() → 값 기준 정렬

📌 DataFrame

  • 2차원 테이블 구조 (행 + 열)
  • 여러 개의 Series가 모여 만든 구조
data = {
    "이름": ["영희", "철수", "민수"],
    "나이": [25, 30, 28],
    "점수": [90, 85, 88]
}

df = pd.DataFrame(data)
print(df)

# 출력 결과:
#    이름  나이  점수
# 0  영희  25   90
# 1  철수  30   85
# 2  민수  28   88

📎 주요 속성:

  • df.shape → (행, 열) 크기
  • df.columns → 열 이름
  • df.dtypes → 각 열의 데이터 타입

📎 주요 메서드:

  • df.head() → 앞 5행 출력
  • df.tail(2) → 뒤 2행 출력
  • df.info() → 데이터 개요 확인
  • df.describe() → 요약 통계 정보

🧩 3. DataFrame 생성 방법 요약

생성 방식 예시

딕셔너리 + 리스트 pd.DataFrame({"A": [1,2], "B": [3,4]})
리스트 + 딕셔너리 pd.DataFrame([{"A":1, "B":2}, {"A":3, "B":4}])
넘파이 배열 pd.DataFrame(np.array([[1,2],[3,4]]))
Series 조합 pd.DataFrame({"col1": s1, "col2": s2})

🛠 DataFrame 주요 연산 예시

# 평균 점수 컬럼 추가
df["점수평균"] = df["점수"].mean()

# 열 삭제
df = df.drop("나이", axis=1)

# 점수 기준 내림차순 정렬
df = df.sort_values("점수", ascending=False)

print(df)

# 출력 결과:
#    이름  점수  점수평균
# 0  영희   90   87.666667
# 2  민수   88   87.666667
# 1  철수   85   87.666667

📌 요약

  • Series: 1차원, 인덱스를 가진 리스트
  • DataFrame: 2차원 테이블, 엑셀 느낌
  • Pandas는 데이터 분석의 기본 → 반드시 익혀야 할 필수 도구