코딩

[Python] Pandas 정리

obin01 2025. 2. 5. 23:31

1. Pandas

1) 데이터 조작, 정제, 분석, 시각화 등을 위한 다양한 기능을 제공, 데이터를 전처리하고 탐색하는 데 많이 사용

2) 시리즈(Series)와 데이터프레임(DataFrame)이라는 자료형을 이용하여 데이터를 처리

📌 Series, DataFrame

Series : 1차원 배열과 같은 구조, 인덱스(index)와 값(value)으로 구성됨
DataFrame : 2차원 테이블 형태의 구조, 여러 개의 Series가 모여서 만들어짐

 

Pandas 생성

import pandas as pd

# 생성
s = pd.Series([10, 20, 30, 40, 50], index=["A", "B", "C", "D", "E"])
"""
A    10
B    20
C    30
D    40
E    50
dtype: int64
"""

data = [[1, "Alice", 90.5], [2, "Bob", 85.3], [3, "Charlie", 78.2]]
df = pd.DataFrame(data, columns=["ID", "Name", "Score"])
"""
   ID     Name  Score
0   1   Alice   90.5
1   2     Bob   85.3
2   3  Charlie   78.2
"""

 

Pandas 함수

# CSV 파일 읽기
pd.read_csv("파일명.csv")
# 엑셀 파일 읽기
pd.read_excel("파일명.xlsx")

# 특정 컬럼 선택
df["컬럼명"]
# 여러 컬럼 선택
df[["컬럼1", "컬럼2"]]
# 첫 번째 행 선택
df.iloc[0]
# 첫 번째 열 선택
df.iloc[:, 0]
# 특정 행과 열 범위 선택
df.iloc[0:5, 0:3]
# 특정 행과 컬럼 선택
df.loc[0, "컬럼명"]
# 여러 개의 특정 컬럼 선택
df.loc[:, ["컬럼1", "컬럼2"]]
# 특정 조건 만족하는 행 필터링
df[df["컬럼명"] > 10]
# 여러 조건 조합
df[(df["컬럼1"] > 10) & (df["컬럼2"] < 50)]
# 특정 값 포함 여부 필터링
df[df["컬럼명"].isin(["값1", "값2"])]
# 결측치 0으로 채우기
df.fillna(0)
# 평균값으로 채우기
df["컬럼명"].fillna(df["컬럼명"].mean(), inplace=True)
# 그룹화
df.groupby("컬럼명")