판다스는 시계열 (series) 이나 표(table) 형태의 데이터를 다루는 패키지로써
이러한 데이터를 다루기위한 시리즈(Series) 클래스와 데이터프레임(DataFrame) 클래스를 제공합니다.
오늘은 판다스를 이용해 csv 파일을 불러오고 다루는 예제를 작성해 보겠습니다.
오늘 예제는 다음 블로그를 참고 하였습니다.
https://opentutorials.org/module/4966/28971
import pandas as pd
우선 판다스를 임포트해 줍니다. 혹 임포트가 안되는 경우 판다스 패키지 설치가 되어 있지 않은 상태일 수 있으니
pip install pandas
위코드를 실행해 판다스를 다운로드 후 진행해 주시길 바랍니다.
파일로 부터 데이터 읽어오기
###########################
# 파일로부터 데이터 읽어오기
파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/lemonade.csv'
레모네이드 = pd.read_csv(파일경로)
파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/boston.csv'
보스턴 = pd.read_csv(파일경로)
파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/iris.csv'
아이리스 = pd.read_csv(파일경로)
데이터의 모양 확인
###########################
# 데이터의 모양확인
print(레모네이드.shape)
print(보스턴.shape)
print(아이리스.shape)
shape 는 데이터프레임의 기본 함수로써 행과 열의 개수를 튜플로 변환해줍니다.
레모네이드 csv 의 경우 6개의 행과 2개의 열로 이루어진 표이고
보스턴의 경우 506개의 행과 14개의 열
아이리스의 경우 150개의 행과 5개의 열을 가지고 있다는것을 알 수 있습니다.
데이터 칼럼 이름 확인
###########################
# 데이터 칼럼이름 확인
print(레모네이드.columns)
print(보스턴.columns)
print(아이리스.columns)
columns 는 해당 데이터의 컬럼(행) 에 해당하는 데이터를 보여줍니다.
레모네이드의 경우 온도와 판매량
보스턴 의경우 도시와 관련된 다양한 정보
아이리스의 경우 꽃과 관련된 정보가 들어가 있음을 확인할 수 있습니다.
독립변수와 종속변수 분리
###########################
# 독립변수와 종속변수 분리
독립 = 레모네이드[['온도']]
종속 = 레모네이드[['판매량']]
print(독립.shape, 종속.shape)
독립 = 보스턴[['crim', 'zn', 'indus', 'chas', 'nox',
'rm', 'age', 'dis', 'rad', 'tax',
'ptratio', 'b', 'lstat']]
종속 = 보스턴[['medv']]
print(독립.shape, 종속.shape)
독립 = 아이리스[['꽃잎길이', '꽃잎폭', '꽃받침길이', '꽃받침폭']]
종속 = 아이리스[['품종']]
print(독립.shape, 종속.shape)
각각의 csv 파일들을 [['컬럼 이름']] 을 통해 해당 열의 정보만 담은 별도의 데이터로 분리할 수 있습니다.
위 코드는 독립변수와 , 종속변수를 구분해 각 파일에서 필요한 열의 정보를 저장하고 shape 를 통해 각 변수의 행렬 구조를 확인해보는 코드입니다.
레모네이드 의 경우 데이터를 온도와 판매량으로 구분하여
1개의 열과 6개의 행을 가진 데이터로 분리가 된걸 확인할 수 있고
이후 보스턴과 아이리스의 경우
코드에 따라 필요한 열로 구성된 데이터로 분리된 것을 확인할 수 있습니다.
각각의 데이터 확인해 보기
###########################
# 각각의 데이터 확인해보기
# 원본 데이터는 변화가 없음을 알 수 있음
print(레모네이드.head())#는 불러온 데이터의 상위 5개의 행을 출력
print(보스턴.head())
print(아이리스.head())
head() 는 해당 데이터의 상위5개의 행을 출력하는 함수 입니다.
데이터를 새로운 변수에 담아서 분리해 준것으로
기존의 csv 파일을 수정한것은 아닙니다.
때문에 위 코드를 실행해 보면
기존의 데이터는 변화 없이 형태를 유지하고 있는것을 확인하실 수 있습니다.
'Python' 카테고리의 다른 글
[Python] 크롤링으로 공공데이터 포털의 파일들 다운받기 (0) | 2023.07.22 |
---|---|
[Python] 라즈베리파이3와 L298N 모터드라이버로 DC 모터 제어하기 (0) | 2023.07.15 |
[Python]Python에서 데이터 프레임을 이용하여 파이그래프 그리기 (0) | 2023.07.05 |
[Python] openpyxl 라이브러리로 xlsx 파일 쓰거나 읽기 (0) | 2023.06.30 |
[python] 자연어 처리를 위한 텍스트 전처리(토큰화) (0) | 2023.06.28 |