데이터 분석/Python - pandas

[이론] 파일 불러오기

toraa 2025. 1. 9. 13:00

데이터프레임으로 데이터를 불러오는 함수
pd.read_csv(): 콤마로 구분된 값 파일(CSV)
pd.read_excel(): 엑셀 파일(.xls, .xlsx)
pd.read_json(): JSON 형식의 파일
pd.read_html(): HTML 파일에서 테이블을 추출하여 데이터프레임으로 변환
pd.read_sql(): SQL 쿼리 결과를 데이터프레임으로
pd.read_spss(): SPSS의 .sav 파일
 
파일 경로 지정 : ./파일명.csv 가 제일 유용
"./data/insurance.csv"
 
 
pandas 라이브러리 불러오기

# pandas의 read_csv( ) 활용
df_ins= pd.read_csv("data/riot_lol.csv") # ./는 생략 가능
df_ins

▶ print함수보다는 주피터노트북의 마지막줄로 출력하는 것이 보기에 더 깔끔
 
 
Encoding, index, header 지정

# 인코딩(글자 저장 방법) 오류 발생
    ## UnicodeDecodeError  'utf-8' codec can't decode byte 0xbc in position 1: invalid start byte
pd.read_csv('data/lck_2024.csv')

가끔 한국어로만 이루어진 파일등 UnicodeDecodeError 발생
▶encoding='CP949'추가

 

pd.read_csv('data/lck_2024.csv', encoding='CP949')

ParserError 발생
▶header(column), index 지정
 header(컬럼 이름을 설정하는 행) 지정
 index(관측치를 구분할 수 있는 열) 선택
 

pd.read_csv('data/lck_2024.csv', 
            encoding='CP949', 
            index_col=2, 
            header=2)

 
* skiprows인자로 열을 건너뛰고 불러오기도 가능
▶ read_csv() 함수는 결과가 dataframe으로 반환됨
 

pd.read_csv('data/lck_2024.csv', 
            encoding='CP949', 
            index_col=2, 
            skiprows=2)

Excel 파일 불러오기 : read_excel()
xlrd와 openpyxl 라이브러리 설치 필요 : pip install xlrd openpyxl

df_wm = pd.read_excel('data/waterMesntkInfo202310.xlsx', 
                      sheet_name = 'waterMesntkInfo20231130_130002', 
                      header = 1)
df_wm

DataFrame 기본정보 파악
 
shape : row, column 크기 (행 수, 열 수) 형식으로 반환
df_gp.index: 데이터프레임의 인덱스 반환
df_gp.columns: 데이터프레임의 컬럼 이름 반환
df_gp.dtypes: 데이터프레임 내 각 컬럼의 데이터 타입 확인
 
head(n)로 상위 n개 관측치 확인

df_gp.head()

 
tail(m)로 끝 m개 관측치 확인

df_gp.tail(3)

 
(관측치, 변수) 수 확인

df_gp.shape

(250, 7)

 
관측치 수만 확인

df_gp.shape[0]

250

 
index(행 이름) 확인

df_gp.index

Index(['강남구', '강동구', '강서구', '관악구', '구로구', '도봉구', '동대문구', '동작구', '마포구', '서대문구',
       ...
       '창원진해구', '창원의창구', '창원성산구', '통영시', '밀양시', '거제시', '양산시', '서귀포시', '제주시',
       '세종시'],
      dtype='object', name='시군구', length=250)