[TIL] 판다스 데이터프레임
[실습] 도서 데이터 찾기
1. CSV 파일 다운로드
import gdown
gdown.download('https://bit.ly/3eecMKZ', '남산도서관 장서 대출목록 (2021년 04월).csv', quiet = False)
gdown
: 웹에서 대용량 파일을 다운로드할 수 있는 패키지
: 코랩에 기본 설치
gdown.download(url, output, quiet=False)
: url - 다운로드할 파일의 Google Drive URL
: output - 저장할 파일의 경로(기본값은 현재 작업 디렉토리)
: quiet - 다운로드 진행 상태를 출력할지 여부( 기본값은 False / True로 설정하면 진행 상태를 출력하지 않음)
2. CSV 파일 출력하기
#인코딩 형식 확인하기
import chardet
with open('남산도서관 장서 대출목록 (2021년 04월).csv', mode='rb') as f:
d = f.readline()
print(chardet.detect(d))
chardet.detect()
: 문자 인코딩 방식 출력
UTF-8
: 유니코드 인코딩 방식
: 4 byte
EUC-KR
: 한글을 위한 완성형 인코딩 방식
: 2 byte
#인코딩 형식 지정
with open('남산도서관 장서 대출목록 (2021년 04월).csv', encoding = 'EUC-KR') as f:
print(f.readline())
print(f.readline())
3. CSV 파일 데이터 프레임으로 읽기
import pandas as pd
df = pd.read_csv('남산도서관 장서 대출목록 (2021년 04월).csv', encoding = 'EUC-KR', low_memory = False)
df.head()

low_memory=True
: 메모리가 제한된 환경에서 큰 파일을 읽어야 할 때
low_memory=False
: 메모리가 충분한 경우
: 파일을 한 번에 읽음
: 메모리 사용량이 많아질 수 있으므로, 시스템의 메모리 용량을 고려해야함
head()
: 데이터프레임의 처음 5개 행 확인
[확인문제]
4. 판다스 read_csv() 함수의 매개변수 설명이 옳은 것은 무엇인가요?
① header 매개변수의 기본값을 1로 CSV 파일의 첫 번째 행을 열 이름으로 사용합니다.
② names 매개변수에 행 이름을 리스트로 지정할 수 있습니다.
③ encoding 매개변수에 CSV 파일의 인코딩 방식을 지정할 수 있습니다.
④ dtype 매개변수를 사용하려면 모든 열의 데이터 타입을 지정해야 합니다.
정답: ③
풀이
① header 매개변수의 기본값을 0으로 CSV 파일의 첫 번째 행을 열 이름으로 사용합니다.
② names 매개변수에 열 이름을 리스트로 지정할 수 있습니다.
③ encoding 매개변수에 CSV 파일의 인코딩 방식을 지정할 수 있습니다.
④ dtype 매개변수를 사용하려면 특정 열의 데이터 타입만 지정해도 됩니다.