[머신러닝·딥러닝] Pandas 기초 정리 - Series와 DataFrame의 개념부터 실습까지 한 눈에!

2025. 7. 1. 18:06·머신러닝&딥러닝

Pandas- Basic Pandas

Pandas는 Python에서 데이터 분석을 위한 핵심 라이브러리로, 두 가지 주요 구조인 Series와 DataFrame을 중심으로 구성됩니다.


Series란?

Series는 Pandas의 1차원 배열 구조입니다.

  • numpy array와 유사하지만, **인덱스(index)**를 가질 수 있습니다.
  • 인덱스를 지정하지 않으면 기본적으로 0부터 시작하는 정수형 index가 자동 부여됩니다.
Python
 
import pandas as pd

s = pd.Series([1, 2, 3, 4])
print(s)

출력 결과:

0    1
1    2
2    3
3    4
dtype: int64
  • 왼쪽은 인덱스, 오른쪽은 값입니다.
  • dtype은 데이터 타입(여기서는 64비트 정수)을 나타냅니다.

DataFrame이란?

DataFrame은 Pandas의 2차원 테이블 구조 (행 × 열)입니다.

  • 여러 개의 Series를 열(column) 단위로 결합한 형태입니다.
  • 엑셀(Excel)과 유사한 구조를 가집니다.
Python
 
import numpy as np
import pandas as pd # pandas import를 명시적으로 추가

data = np.random.randn(6, 4)
df = pd.DataFrame(data, columns=list('WXYZ'))
print(df)

출력 예시:

          W         X         Y         Z
0  0.123456  1.234567  0.123456 -1.234567
1  ...       ...       ...       ...
2  ...       ...       ...       ...
3  ...       ...       ...       ...
4  ...       ...       ...       ...
5  ...       ...       ...       ...

DataFrame 구조 정보 확인

DataFrame의 전반적인 구조와 통계 정보를 확인하는 중요한 메서드들입니다.

Python
 
df.info()       # 데이터 타입, 결측치(Non-Null Count), 메모리 사용량 등 요약 정보
df.describe()   # 수치형 데이터의 개수, 평균, 표준편차, 최솟값, 최댓값, 사분위수 등 요약 통계
df.columns      # 컬럼(열) 이름들을 리스트 형태로 확인

예시 설명:

  • df.info()는 전체 컬럼의 이름, 결측치가 아닌 값의 개수(Non-Null Count), 데이터 타입(Dtype) 등을 종합적으로 보여줍니다.
  • df.columns는 컬럼 이름들을 Index(['W', 'X', 'Y', 'Z'], dtype='object') 형태로 반환합니다.

DataFrame 컬럼 접근

DataFrame에서 특정 컬럼(열)의 데이터를 선택하는 방법입니다.

Python
 
df['W']  # 'W'라는 이름의 특정 컬럼만 Series 형태로 출력

DataFrame 인덱싱 (행 접근)

DataFrame에서 특정 행 또는 행의 범위를 선택하는 방법입니다.

Python
 
df[1:3]      # 인덱스 1부터 2까지의 행 (3은 포함되지 않음)
df.loc[0]    # 인덱스 라벨이 0인 행을 선택 (라벨 기반 인덱싱)
df.iloc[0]   # 첫 번째 행을 선택 (위치 기반 인덱싱, 0은 첫 번째 위치)

열 추가 / 열 삭제

DataFrame의 열을 동적으로 추가하거나 제거할 수 있습니다.

열 추가

Python
 
df['NEW'] = df['W'] + df['X'] # 'W' 컬럼과 'X' 컬럼의 값을 더하여 'NEW' 컬럼 생성

열 삭제

drop() 메서드를 사용하며, axis=1은 열(column)을 의미하고, inplace=True는 원본 DataFrame에 변경사항을 즉시 적용하라는 의미입니다.

Python
 
df.drop('NEW', axis=1, inplace=True) # 'NEW' 컬럼 삭제

결측치(Missing Data) 처리

데이터 분석 시 결측치(NaN: Not a Number)는 흔하게 발생하며, Pandas는 이를 처리하는 기능을 제공합니다.

결측치가 있는 행 삭제

dropna() 메서드는 결측치(NaN)가 하나라도 포함된 행을 제거합니다.

Python
 
df.dropna()

결측치가 있는 열 삭제

dropna(axis=1)는 결측치(NaN)가 하나라도 포함된 열을 제거합니다.

Python
 
df.dropna(axis=1)

결측치를 지정 값으로 채우기

fillna() 메서드는 결측치(NaN)를 지정한 값으로 대체합니다.

Python
 
df.fillna(0) # 모든 NaN 값을 0으로 채움

CSV 파일 불러오기

Pandas는 다양한 형식의 외부 데이터를 쉽게 불러올 수 있습니다. CSV 파일은 pd.read_csv()를 사용합니다.

Python
 
df = pd.read_csv("winequality-red.csv", sep=';') # 세미콜론(;)으로 구분된 CSV 파일 불러오기
df.head() # 불러온 DataFrame의 상위 5개 행 미리보기

요약 정리

항목 설명
Series 1차원 배열. 값과 인덱스로 구성
DataFrame 2차원 테이블. 여러 개의 Series로 구성
df.info() 데이터 개요, 타입, 결측치 확인
df.describe() 수치형 컬럼의 통계 요약
df.columns 컬럼(열) 이름 확인
df['col'] 특정 컬럼 접근
df.loc[행] 라벨(이름) 기반 행 접근
df.iloc[행번호] 위치(정수 인덱스) 기반 행 접근
df.dropna() 결측치가 있는 행 제거
df.fillna(값) 결측치를 지정 값으로 대체
df.read_csv() CSV 파일 불러오기

'머신러닝&딥러닝' 카테고리의 다른 글

[머신러닝] 머신러닝 필수 전처리: Feature Scaling 완벽 가이드  (0) 2025.07.02
[머신러닝·딥러닝]파이썬 시각화의 시작, matplotlib 필수 문법 총정리  (4) 2025.07.02
[머신러닝·딥러닝]NumPy 기초 정리 - 배열 생성부터 axis 개념까지 명확하게  (0) 2025.07.01
[딥러닝]경사하강법 핵심 정리: 딥러닝 모델은 어떻게 학습될까?  (4) 2025.06.30
[머신러닝·딥러닝]머신러닝·딥러닝 입문자를 위한 필수 파이썬 문법 정리  (2) 2025.06.30
'머신러닝&딥러닝' 카테고리의 다른 글
  • [머신러닝] 머신러닝 필수 전처리: Feature Scaling 완벽 가이드
  • [머신러닝·딥러닝]파이썬 시각화의 시작, matplotlib 필수 문법 총정리
  • [머신러닝·딥러닝]NumPy 기초 정리 - 배열 생성부터 axis 개념까지 명확하게
  • [딥러닝]경사하강법 핵심 정리: 딥러닝 모델은 어떻게 학습될까?
jh_devnote
jh_devnote
Spring Boot, React, MySQL, JSP, Servlet, Docker, AWS 기반의 풀스택 웹 개발 프로젝트를 기록하는 기술 블로그입니다.
  • jh_devnote
    JH Devlog
    jh_devnote
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 🐱 Github
    • 🌐 My Site
    • 🗂 Portfolio
  • 전체 카테고리

    • 💻 개발
      • 네트워크
      • MYSQL
      • JAVA
      • SPRINGBOOT
      • Node.JS
      • React
      • LINUX
      • AWS
      • Docker
    • 📘 코딩테스트
      • 백준(Baekjoon)
      • 프로그래머스
    • 🧑‍💻 머신러닝&딥러닝
    • 📁 프로젝트
      • 📂 HealthMe
        • HealthMe_프론트엔드
        • HealthMe_백엔드
  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
jh_devnote
[머신러닝·딥러닝] Pandas 기초 정리 - Series와 DataFrame의 개념부터 실습까지 한 눈에!
상단으로

티스토리툴바