0. 실습 전 준비
다음은 예제에서 이용할 엑셀 파일이다.
원하는 경로에 저장하여 실습에서 이용할 수 있도록 하자.
먼저 pandas를 이용하기 위해서 전처리기를 통해 import 해줘야 한다.
여기서 pandas는 관계형 데이터를 다루는데 이용하는 library이다.
import pandas as pd
1. 데이터 불러오기
우리가 분석하고자 하는 .csv 확장자 파일을 불러오기 위해 다음과 같은 코드를 작성해야 한다.
data1 = pd.read_csv('./data/chicken_07.csv')
pd.read_csv('file directory 경로') : directory 경로에 입력된 파일을 불러옴
본 예제에서는 불러온 파일을 data 변수에 할당해 이용할 것이다.
2. 데이터 출력
아래와 같이 코드를 작성해 위에서 불러온 .csv 파일을 출력할 수 있다.
print(data1)
아래와 같이 코드를 작성하면 data의 맨 끝에서부터 5개의 data가 출력된다.
print(data1.tail(5))
data.tail(num) : data의 끝에서 num만큼의 정보를 불러옴
아래와 같이 코드를 작성하면 data의 기초 통계값을 확인할 수 있다.
print(data1.describe())
data.describe(): data의 기초 통계값을 불러옴
다음과 같이 코드를 입력해 원하는 열에 있는 데이터만을 불러올 수 있다.
print(data1['성별'])
print(data1['연령대'])
print(data1['요일'])
print(data1['시군구'])
data[데이터를 불러올 열] : 해당 열에 대한 데이터만을 불러옴
데이터의 중복 없이 존재하는 데이터를 출력하기 위해 set을 이용할 수 있다.
print(set(data1['성별']), len(set(data1['성별'])))
print(set(data1['연령대']), len(set(data1['연령대'])))
print(set(data1['요일']), len(set(data1['요일'])))
print(set(data1['시군구']), len(set(data1['시군구'])))
set(data[데이터를 불러올 열]) : 해당 열에 대해 중복 없이 정보를 불러옴
len(set(data[데이터를 불러올 열])) : 중복되지 않는 정보의 수를 세기 위해 set의 len를 계산
3. 데이터 병합
2개의 데이터를 추가적으로 불러와 data1, data2, data3을 병합하여 하나의 data4로 만들어보자.
먼저 data2, data3를 생성하자.
data2 = pd.read_csv('./data/chicken_08.csv')
data3 = pd.read_csv('./data/chicken_09.csv')
이후 다음과 같이 코드를 작성하면 세 개의 데이터를 병합할 수 있다.
data4 = pd.concat([data1, data2, data3])
병합한 data4를 출력해보면 다음과 같은 결과를 얻을 수 있다.
하지만 출력 결과에는 다음과 같은 문제가 있다.
76495개의 행이 존재하는데 index는 24116까지 밖에 없네...?
이는 3개의 data가 병합될 때 index가 새롭게 넘버링 된 것이 아니라 기존 데이터의 index가 그대로 반영되어 병합됐기 때문이다.
따라서 다음과 같이 코드를 작성하여 index를 재설정 해줄 수 있다.
data4 = data4.reset_index(drop=True)
data.reset_index(drop=True) : data의 index를 새롭게 넘버링하여 설정
여기서 drop=True는 기존에 있던 index를 drop하여 새롭게 지정해준다는 의미로 생각하면 된다.
4. 예제 전체 코드
import pandas as pd
data1 = pd.read_csv('./data/chicken_07.csv') #데이터 불러오기
print(data1)
print(data1.tail(5)) #데이터의 맨 뒤에있는 5개만 불러오기
print(data1.describe())
print(set(data1['성별']), len(set(data1['성별'])))
print(set(data1['연령대']), len(set(data1['연령대'])))
print(set(data1['요일']), len(set(data1['요일'])))
print(set(data1['시군구']), len(set(data1['시군구'])))
data2 = pd.read_csv('./data/chicken_08.csv')
data3 = pd.read_csv('./data/chicken_09.csv')
data4 = pd.concat([data1, data2, data3])
print(data4)
data4 = data4.reset_index(drop=True)
print(data4)
'Python > 데이터분석' 카테고리의 다른 글
Python을 이용한 데이터 분석(2) - 데이터 시각화 (0) | 2021.06.26 |
---|