데이터분석/파이썬

pandas 데이터 분석 1 - csv, 엑셀파일, json을 데이터 프레임으로 불러오기(read_csv, read_excel, read_json)

devbean 2021. 11. 21. 23:19
반응형

오늘은 파이썬의 pandas 라이브러리를 활용을 해서 데이터를 불러오는 법에 대해서 알아보도록 하겠습니다. 이번 환경도 colab을 이용해서 데이터를 분석을 할건데요. 사전에 colab에 데이터를 업로드를 해야 합니다.

샘플 파일

data1.json
0.00MB
야근수당.csv
0.00MB
야근수당.xlsx
0.01MB

 

colab에 데이터는 어떻게 올려?

1. 좌측 파일 탭에 원하는 데이터를 드레그해서 넣기

디렉토리에 드레그해서 넣는다.

2. 잘 들어갔는지 확인

데이터가 잘들어 갔는지 확인 한다.

데이터가 준비가 되었다면 이제 pandas의 함수를 통해서 데이터를 데이터 프레임 형식으로 하나씩 불러오도록 하겠습니다.

 

데이터 프레임은 뭐야?

데이터 분석에서 많이 사용되는 데이터 형태로, 행과 열로 구성된 사각형 모양의 표

 

pandas 불러오기

import pandas as pd

pandas를 pd라는 이름으로 불러오겠다는 코드

 

1. read_csv

read_csv는 csv 파일을 데이터 프레임으로 불러오는 함수 입니다.

 

그런데 CSV 파일이 무엇일까요?
 
Comma: 컴마로(,)
Separated: 분리된
Values: 값

 

입니다.

 

csv 파일 예시

컴마로 각 열이 분리되어있다.

 

기본 문법

변수 = pd.read_csv(csv 파일 경로)

#위의 파일예시
df = pd.read_csv('야근수당.csv')

이런식으로 파일 경로를 read_csv 함수 안에 적어주면 됩니다. 만약에 특정 폴더에 있다고 한다면 속성에서 해당 폴더에의 경로를 찾아서 파일명 앞에 붙여주시면 되겠습니다.

 

한글 컬럼이라 깨질 때

 

위의 파일의 컬럼명이 한글이라 데이터가 import가 안된다.

'utf-8' codec can't decode byte 0xbf in position 0: invalid start byte 이런 오류가 뜨면서 데이터가 import안되는 경우가 있습니다. 이럴 때는 높은 확률로 한글 문제인데요. 이럴땐 인코딩을 넣어주면 해결이 됩니다.

 

해결 코드

df = pd.read_csv('야근수당.csv',encoding='ms949')

 

실행결과

데이터 프레임 실행결과

 

2. read_excel

read_excel은 엑셀파일의 데이터를 데이터 프레임으로 가져오는 함수 입니다.

 

시트명도 확인하자

 

기본 문법

변수 = pd.read_excel(엑셀파일경로, sheet_name = 원하는 시트의 이름)

df2 = pd.read_excel('야근수당.xlsx', sheet_name = '야근수당')

 

위 코드의 실행 결과

read_excel 실행 결과

3. read_json

read_json은 json 데이터를 데이터 프레임으로 가져오는 함수 입니다.

 

json예시

{
    "menu": {
        "1": "짜장면",
        "2": "짬뽕",
        "3": "탕수육",
        "4": "라조기"
    },
    "price": {
        "1": 2000,
        "2": 3000,
        "3": 4000,
        "4": 5000
    }
}

 

이런 딕셔너리 형태의 데이터를 데이터 프레임으로 만드는 것이 read_json입니다.

 

기본 문법

변수 = pd.read_json(json 파일이 있는 경로)


df3 = pd.read_json('data1.json')

 

실행 결과

read_json 실행결과

 

오늘은 pandas를 활용해서 데이터 분석을 하기 위해서 다른 데이터의 형태들을 데이터 프레임으로 만드는 방법에 대해서 알아봤습니다. 다음 시간부터는 데이터를 처리하는법에 대해서 알아보도록 하겠습니다.

 

https://colab.research.google.com/drive/1zO7mDkQUv3dbp7PiisXgjGR7V90dBRIc?usp=sharing 

 

pandas 샘플코드.ipynb

Colaboratory notebook

colab.research.google.com

반응형