PANDAS로 데이터 다루기
pandas 라이브러리 소개
- Python에서 데이터 분석 및 조작을 위한 핵심적이고 강력한 라이브러리
- Panel Data System의 약자
- 데이터 처리 및 분석을 위한 강력하고 효율적인 도구
- 쉽고 빠른 데이터 처리: Excel, CSV, DB 등 다양한 파일 읽기/쓰기
- 강력한 데이터 조작: 필터링, 정렬, 그룹화
- 결측치 처리 용이
파일 열기
- 불러오기
- 대체로 pandas를 pd로 줄여 부름
- 같은 방식을 따르면 다른 사람이나 AI가 작성한 코드와 섞어서 사용할 때 유용
import pandas as pd # pandas를 불러온다(약칭은 pd)
- Excel 파일 읽기:
pd.read_excel('파일명.xlsx', sheet_name='시트명 또는 인덱스')sheet_name생략 시 첫 번째 시트 불러옴- 다양한 옵션 제공 (예: 특정 행을 헤더로 지정, 특정 열만 선택 등)
- 결과: DataFrame 객체(2차원 표)로 데이터 반환
df = pd.read_excel('car.xlsx')
FileNotFound 에러
- Python이 열려고 하는 파일을 찾지 못함
- 원인: ipynb 파일과 xlsx 파일이 다른 폴더에 있음
- 해결책:
- 새로운 ipynb 파일을 xlsx 파일과 같은 폴더에 만들거나
- xlsx 파일을 현재 ipynb 파일이 있는 폴더로 옮기거나
- xlsx 파일의 정확한 위치를 코드에 입력해줌(예:
"C:/Users/user/Desktop/data/car.xlsx")
데이터 보기
- 전체 보기(표가 길면 중간은 생략)
df
- 첫 n행만 보기(n을 생략하면 5행만)
df.head(10)
- 마지막 n행만 보기(n을 생략하면 5행만)
df.tail(10)
DataFrame의 기본 구조
- Index (인덱스) : 행(row)을 식별하는 이름 (기본값: 0부터 시작)
df.index
- Columns (컬럼) : 열(column)을 식별하는 이름
df.columns
데이터프레임 기본 정보
df.shape: (행 개수, 열 개수) 튜플 반환df.info(): 데이터 타입, 각 열의 non-null 값 개수, 메모리 사용량 등 요약 정보 출력df.dtypes: 각 열의 데이터 타입 확인
열 선택
- 특정 열 선택 (Series 반환):
df['열이름']또는df.열이름()
df['price']
df.price # 열 이름에 공백/특수문자 없을 시
- 여러 열 선택 (DataFrame 반환):
df[['열이름1', '열이름2']](리스트 형태로 전달)- 안쪽 각괄호
[]는 열 이름들을 묶는 리스트 - 바깥쪽 각괄호는 특정 열을 표시하는 기호
- 안쪽 각괄호
df[['price', 'mileage']]
파일 저장하기
- Excel로 저장:
df.to_excel('저장할_이름.xlsx')
- 인덱스(행 번호)를 제외하고 저장
df.to_excel('저장할_이름.xlsx', index=False)
- CSV로 저장:
df.to_csv('저장할_이름.csv')