Pandas
기본 정보
- 이름: Pandas
- 분류: Python 데이터 분석 라이브러리
- 개발자: Wes McKinney
- 최초 공개: 2008년
- 개발 언어: Python
- 주요 용도: 데이터 분석, 데이터 처리, CSV 및 Excel 관리
- 관련 주제: #Pandas #Python #DataAnalysis #DataFrame #NumPy
개요
Pandas는 Python에서 가장 널리 사용되는 데이터 분석 라이브러리이다.
표 형태(Table)의 데이터를 효율적으로 처리할 수 있으며, CSV, Excel, JSON, SQL 등 다양한 형식의 데이터를 불러오고 분석할 수 있다.
인공지능(AI), 머신러닝, 데이터 사이언스, 웹 크롤링, 업무 자동화 등 다양한 분야에서 필수적으로 사용된다.
Pandas 구조
CSV
Excel
JSON
SQL
↓
Pandas
↓
DataFrame
↓
데이터 분석
↓
시각화
↓
AI / 머신러닝
주요 특징
- 표 형태 데이터 처리
- 빠른 데이터 분석
- 결측치 처리
- 데이터 정렬 및 그룹화
- CSV·Excel 지원
- SQL 연동
- NumPy 기반 고성능 연산
설치
pip install pandas
라이브러리 불러오기
import pandas as pd
일반적으로 pd라는 별칭을 사용한다.
Series
Pandas의 1차원 데이터 구조이다.
import pandas as pd
s = pd.Series([10, 20, 30])
print(s)
DataFrame
2차원 표 형태의 데이터 구조이다.
import pandas as pd
df = pd.DataFrame({
"name": ["홍길동", "김철수"],
"age": [30, 25]
})
print(df)
CSV 읽기
df = pd.read_csv(
"data.csv"
)
CSV 파일을 DataFrame으로 불러온다.
CSV 저장
df.to_csv(
"output.csv",
index=False
)
Excel 읽기
df = pd.read_excel(
"data.xlsx"
)
Excel 저장
df.to_excel(
"output.xlsx",
index=False
)
데이터 확인
상위 5개
df.head()
하위 5개
df.tail()
정보 확인
df.info()
통계 정보
df.describe()
컬럼 선택
df["name"]
여러 컬럼
df[["name", "age"]]
행 선택
df.loc[0]
인덱스 기반
df.iloc[0]
조건 검색
df[df["age"] > 20]
조건에 맞는 데이터만 조회한다.
정렬
오름차순
df.sort_values("age")
내림차순
df.sort_values("age",ascending=False)
그룹화(GroupBy)
df.groupby("department").sum()
부서별 합계를 계산할 수 있다.
결측치 확인
df.isnull()
결측치 제거
df.dropna()
결측치 채우기
df.fillna(0)
컬럼 추가
df["score"] = 100
컬럼 삭제
df.drop("score",axis=1)
데이터 병합(Merge)
pd.merge(df1,df2,on="id")
SQL의 JOIN과 비슷한 기능을 제공한다.
데이터 연결(Concat)
pd.concat([df1, df2])
JSON 읽기
pd.read_json("data.json")
SQL 읽기
pd.read_sql(query,connection)
시각화
df.plot()
Matplotlib와 함께 자주 사용된다.
NumPy와 관계
NumPy
↓
Pandas
↓
Data Analysis
↓
Machine Learning
Pandas는 내부적으로 NumPy를 기반으로 동작한다.
대표 활용 분야
- 데이터 분석
- AI 학습 데이터 전처리
- 머신러닝
- 웹 크롤링 결과 분석
- ERP 데이터 분석
- 로그 분석
- 통계 분석
- 업무 자동화
장점
- 배우기 쉬움
- 대용량 데이터 처리 가능
- 다양한 파일 형식 지원
- SQL과 유사한 데이터 처리
- 풍부한 함수 제공
- Python 생태계와 높은 호환성
단점
- 메모리 사용량이 많을 수 있음
- 초대용량 데이터에서는 성능 한계
- 분산 처리 기능은 제한적
- 복잡한 연산은 학습이 필요
실무 메모
실무에서는 다음과 같은 방식이 권장된다.
import pandas as pd사용- CSV 저장 시
index=False지정 head(),info()로 데이터 확인- 결측치 처리 후 분석 수행
groupby()와merge()적극 활용- 날짜 컬럼은
datetime형식으로 변환 - 벡터화 연산 사용으로 성능 최적화
- 반복문보다 Pandas 함수 활용
- NumPy와 함께 사용
- AI 학습 전 데이터 전처리 필수
Pandas와 함께 사용하는 기술
대표 개발 도구
- Jupyter Notebook
- Visual Studio Code
- PyCharm
- Google Colab
- Anaconda
관련 문서
출처
- Pandas 공식 홈페이지
- Pandas 공식 문서
- Wes McKinney 저서 *Python for Data Analysis*