Python

Pandas 기초 사용법

검정콩 2026. 8. 11. 17:03

Pandas

pandas는 표 형태의 데이터를 다루기 쉽게 해주는 파이썬 라이브러리

엑셀에서 행과 열로 이루어진 표를 다루는 것처럼, pandas를 사용하면 파이썬에서도 CSV, 엑셀, 데이터베이스에서 가져온 데이터를 편하게 다룰 수 있다.

 

1. pandas 설치

pip install pandas
  • 호출
    import pandas as pd

2. DataFrame

DataFrame은 행과 열이 있는 표. 엑셀 시트나 데이터베이스 테이블을 떠올리면 이해하기 쉽다.

import pandas as pd

data = {
    "이름": ["철수", "영희", "민수"],
    "나이": [20, 25, 22],
    "점수": [80, 95, 70]
}

df = pd.DataFrame(data)

print(df)

출력 결과는 다음과 비슷하다.

   이름  나이  점수
0  철수  20  80
1  영희  25  95
2  민수  22  70

왼쪽의 0, 1, 2는 각 행의 번호다. pandas에서는 이를 index라고 부른다.

 

3. CSV 파일 읽기

pandas는 파일을 읽어올 때 많이 사용한다.

CSV 파일을 읽으려면 다음과 같이 작성한다.

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

엑셀 파일도 읽을 수 있다.

df = pd.read_excel("data.xlsx")

읽어온 데이터는 DataFrame 형태로 저장된다.

 

4. 데이터 미리 보기

데이터가 크면 전체를 한 번에 보기 어렵다. 이럴 때는 일부만 확인한다.

앞의 5줄을 보고 싶다면 head()를 사용한다.

df.head()

뒤의 5줄을 보고 싶다면 tail()을 사용한다.

df.tail()

데이터의 열 이름, 비어 있지 않은 값의 개수, 자료형 등을 확인하려면 info()를 사용한다.

df.info()

숫자 데이터의 평균, 최솟값, 최댓값 같은 기본 통계를 확인하려면 describe()를 사용한다.

df.describe()

 

5. 특정 열 선택하기

특정 열 하나만 보고 싶을 때는 열 이름을 사용한다.

df["이름"]

여러 열을 선택할 수도 있다.

df[["이름", "점수"]]

여러 열을 선택할 때는 대괄호가 두 번 들어간다.

df[["열1", "열2"]]

바깥쪽 대괄호는 DataFrame에서 열을 고르는 역할을 하고, 안쪽 대괄호는 여러 열 이름을 리스트로 묶는 역할을 한다.

 

6. 조건으로 행 선택하기

pandas에서는 조건에 맞는 행만 골라낼 수 있다.

예를 들어 점수가 80점 이상인 사람만 보고 싶다면 다음과 같이 작성한다.

df[df["점수"] >= 80]

나이가 22살 이상인 사람만 보고 싶다면 다음과 같이 작성한다.

df[df["나이"] >= 22]

이 형태는 pandas에서 매우 자주 사용한다.

df[df["열이름"] 조건]

예를 들어 다음 코드는 점수가 90보다 작은 행만 선택한다.

df[df["점수"] < 90]

df["점수"] < 90이 각 행에 대해 참인지 거짓인지를 판단하고, 그중 참인 행만 df[...]가 골라낸다.

 

7. 새 열 만들기

기존 데이터를 이용해 새로운 열을 만들 수 있다.

예를 들어 점수가 80점 이상이면 합격 여부를 표시해보자.

df["합격여부"] = df["점수"] >= 80

결과는 다음과 비슷하다.

   이름  나이  점수   합격여부
0  철수  20  80   True
1  영희  25  95   True
2  민수  22  70  False

True는 참, False는 거짓을 의미한다.

새 열을 만들 때는 다음 형태를 기억하면 된다.

df["새 열 이름"] = 값

여기서 값은 하나의 숫자나 문자열일 수도 있고, 기존 열을 계산한 결과일 수도 있다.

 

8. 데이터 정렬하기

특정 열을 기준으로 데이터를 정렬할 수 있다.

점수가 낮은 순서대로 정렬하려면 다음과 같이 작성한다.

df.sort_values("점수")

점수가 높은 순서대로 정렬하려면 ascending=False를 추가한다.

df.sort_values("점수", ascending=False)

ascending은 오름차순 여부를 뜻한다. ascending=False는 오름차순이 아니라는 뜻이므로 내림차순 정렬이 된다.

 

9. 평균, 합계, 최댓값 구하기

숫자 열에 대해 여러 계산을 할 수 있다.

점수 평균을 구하려면 mean()

df["점수"].mean()

점수 합계를 구하려면 sum()

df["점수"].sum()

가장 높은 점수를 구하려면 max()

df["점수"].max()

가장 낮은 점수를 구하려면 min()

df["점수"].min()

데이터 개수를 세려면 count()

df["점수"].count()

 

10. CSV 파일로 저장하기

수정한 데이터를 다시 CSV 파일로 저장할 수 있다.

df.to_csv("result.csv", index=False)

여기서 index=False는 왼쪽의 행 번호를 파일에 저장하지 않겠다는 뜻이다. CSV로 저장할 때 대부분 함께 사용한다.

 

11. pandas 기본 흐름

  1. 파일을 읽는다.
  2. 데이터를 미리 본다.
  3. 필요한 열을 선택한다.
  4. 조건에 맞는 행을 선택한다.
  5. 새 열을 만든다.
  6. 정렬하거나 계산한다.
  7. 파일로 저장한다.
  • 예시
import pandas as pd

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

result = df[df["점수"] >= 80]

result = result.sort_values("점수", ascending=False)

result.to_csv("result.csv", index=False)
  1. data.csv 파일을 읽는다.
  2. 점수가 80점 이상인 행만 고른다.
  3. 점수가 높은 순서대로 정렬한다.
  4. 결과를 result.csv로 저장한다.

 

핵심 문법 요약

  • 특정 열 선택
df["열이름"]
  • 여러 열 선택
df[["열1", "열2"]]
  • 조건에 맞는 행 선택
df[df["열이름"] 조건]
  • 새 열 만들기
df["새열이름"] = 값
  • 정렬하기
df.sort_values("열이름")
  • CSV로 저장하기
df.to_csv("파일명.csv", index=False)