1일차_Pandas 기초와 실습

수빈·2026년 1월 8일
post-thumbnail

Pandas 기초와 실습

데이터 분석을 시작한다면 거의 반드시 사용하게 되는 라이브러리가 바로 Pandas다.
CSV 파일을 불러오고, 데이터를 수정하고, 원하는 정보만 추출하는 등 대부분의 작업을 Pandas로 수행한다.

Pandas란?

Pandas는 Python에서 데이터를 쉽고 빠르게 다룰 수 있도록 만들어진 라이브러리다.

엑셀처럼 행(Row)과 열(Column) 형태의 데이터를 다룰 수 있으며, 대용량 데이터도 효율적으로 처리할 수 있다.

대표적으로 다음과 같은 작업을 할 수 있다.

  • CSV, Excel 파일 읽기
  • 데이터 조회
  • 데이터 추가 및 삭제
  • 결측치 처리
  • 데이터 정렬
  • 그룹별 통계 분석
  • 데이터 전처리

AI와 머신러닝에서는 데이터를 모델에 입력하기 전에 대부분 Pandas를 사용하여 데이터를 정리한다.


Pandas 설치

설치가 되어 있지 않다면 pip를 이용하여 설치할 수 있다.

pip install pandas

설치 후에는 다음과 같이 불러온다.

import pandas as pd

보통 pd라는 별칭(alias)을 사용한다.


Series와 DataFrame

Pandas에는 가장 중요한 두 가지 자료구조가 있다.

1. Series

Series는 1차원 데이터이다.

리스트 하나를 관리한다고 생각하면 이해하기 쉽다.

import pandas as pd

score = pd.Series([90, 80, 100, 95])

print(score)

출력

0     90
1     80
2    100
3     95
dtype: int64

왼쪽 숫자는 Index, 오른쪽은 실제 데이터(Value)이다.


2. DataFrame

DataFrame은 2차원 테이블 형태의 데이터이다.

엑셀 시트와 거의 동일한 구조라고 생각하면 된다.

import pandas as pd

df = pd.DataFrame({
    "이름": ["철수", "영희", "민수"],
    "나이": [20, 22, 21],
    "점수": [90, 85, 95]
})

print(df)

출력

   이름   나이   점수
0 철수   20   90
1 영희   22   85
2 민수   21   95

실제 데이터 분석에서는 대부분 DataFrame을 사용한다.


CSV 파일 불러오기

가장 많이 사용하는 기능이다.

df = pd.read_csv("health.csv")

파일을 읽은 후에는 데이터를 확인해보자.

print(df)

또는

df.head()

head()는 기본적으로 상위 5개의 데이터를 보여준다.

반대로 마지막 데이터를 보고 싶다면

df.tail()

을 사용하면 된다.


데이터 정보 확인하기

데이터를 분석하기 전에 반드시 확인해야 하는 함수들이다.

shape

데이터 크기를 확인한다.

df.shape

예시

(1000, 8)

→ 행이 1000개, 열이 8개라는 의미이다.


columns

컬럼 이름을 확인한다.

df.columns

info()

데이터 타입과 결측치를 확인할 수 있다.

df.info()

예시

RangeIndex: 1000 entries

Age       int64
Gender    object
Height    float64

데이터 분석을 시작하기 전에 가장 많이 사용하는 함수 중 하나다.


describe()

숫자형 데이터의 통계를 확인한다.

df.describe()

결과에는 다음과 같은 정보가 포함된다.

  • 평균(mean)
  • 표준편차(std)
  • 최소값(min)
  • 최대값(max)
  • 사분위수(25%, 50%, 75%)

원하는 데이터 선택하기

컬럼 하나 선택

df["Age"]

또는

df.Age

여러 컬럼 선택

df[["Age", "Height"]]

행 선택

df.iloc[0]

첫 번째 행을 가져온다.

df.iloc[0:5]

첫 번째부터 다섯 번째 행까지 가져온다.

조건에 맞는 데이터 찾기

예를 들어 나이가 30세 이상인 사람만 조회하고 싶다면

df[df["Age"] >= 30]

혈당이 120 이상인 사람만 찾는다면

df[df["Glucose"] >= 120]

조건을 여러 개 사용할 수도 있다.

df[(df["Age"] >= 30) & (df["Gender"] == "Male")]

새로운 컬럼 만들기

BMI 컬럼을 만들어보자.

df["BMI"] = df["Weight"] / (df["Height"]/100)**2

이처럼 기존 데이터를 이용하여 새로운 컬럼을 쉽게 생성할 수 있다.

정렬하기

나이순으로 정렬

df.sort_values("Age")

내림차순 정렬

df.sort_values("Age", ascending=False)

결측치 확인

결측치는 비어있는 데이터를 의미한다.

df.isnull().sum()

각 컬럼마다 결측치가 몇 개인지 확인할 수 있다.


AI Healthcare에서는 어떻게 사용할까?

예를 들어 환자 건강검진 데이터가 있다고 가정해보자.

이름나이혈압혈당
김철수2812095
이영희45135118
박민수61148132

Pandas를 이용하면

  • 60세 이상 환자만 추출
  • 혈당이 높은 환자 찾기
  • BMI 계산
  • 결측치 확인
  • 평균 혈압 계산
  • 머신러닝 학습용 데이터 생성

등의 작업을 몇 줄의 코드만으로 수행할 수 있다.


마무리

Pandas는 데이터 분석의 시작이라고 할 만큼 중요한 라이브러리다.

데이터를 불러오고, 원하는 데이터를 추출하고, 정리하는 대부분의 과정이 Pandas로 이루어진다.

다음 글에서는 탐색적 데이터 분석(EDA)을 통해 데이터를 어떻게 분석하고 숨겨진 패턴을 찾아내는지 알아보자.

profile
안녕하세요 ⊂(ᴑ╹.╹ᴑ)੭ 열심히 하구있습니당!!

0개의 댓글