오늘 목표
엑셀로 작업한 파일을 CSV로 변환하고, 그것을 파이썬으로 불러오고, 불러온 파일에 있는 데이터를 추출하는 방법을 소개하겠습니다. Jupyter notebook에서 python3로 실행했습니다. 오늘 목표는 아래와 같습니다.
- 엑셀 파일 CSV로 변환하기
- 파이썬으로 CSV 파일 불러오기 (2가지 방법)
- pd.read_csv ('파일 경로')
- np.loadtxt ('파일 경로')
- 데이터 추출 하기 (3가지 방법)
- 간단히 산점도 그래프 그리기
엑셀 파일 CSV로 변환하기
엑셀에서 [파일]-[다른 이름으로 저장] 선택 후에 파일 저장할 때 [파일 이름] 입력하고, 그 아래 파일 형식에서 [CSV(쉼표로 분리)]를 선택합니다. 엑셀 파일 자체를 파이썬으로 불러오고 데이터도 추출할 수 있지만, 프로그래밍할 때 엑셀 파일은 호환성 등의 문제가 있어 CSV 파일로 변환해서 작업합니다.
파이썬으로 CSV 파일 불러오기 (pandas vs numpy)
Pandas와 Numpy 이 두 개의 라이브러리를 이용해서 CSV 파일을 불러와보겠습니다.
Pandas로 CSV 파일 불러오기
#라이브러리 이용하기
import pandas as pd
#파일 불러오기
data = pd.read_csv('C:/Desktop/python/csv_test.csv')
#파일 확인하기
data.head()
파일 불러오기에 파일이 위치해있는 경로와 파일명을 입력해주면, 전체 파일을 가져올 수 있습니다. 지정해준 파일명. head()라고 입력하고 실행하면 불러온 데이터의 일부를 확인할 수 있습니다. 잘 불려 와 졌는지 이렇게 확인합니다.
파일 경로를 가져올 때 복사해서 붙여 넣기 하고 난 후 슬래쉬로 꼭 바꿔줘야 합니다. 그리고 자주 실수하는 부분이 파일명 뒤에. csv를 입력 안 하는 경우이니 잘 확인하시길 바랍니다.
Numpy로 CSV 파일 불러오기
# 라이브러리 이용하기
import numpy as np
# 파일 불러오기
파일경로 = ('C:/Desktop/python/csv_test.csv')
파일 = np.loadtxt(파일경로, skiprows=1, delimiter = ',', usecols =(0,1,2), dtype ='str')
# 파일 확인하기
print(파일)
파일 불러오는 방법은 pandas랑 비슷한데 이번에는 파일 경로를 따로 지정해봤습니다.
skiprows는 몇 줄 빼고 가져올 것인지 선택 (1부터 시작)
usecols는 어느 column에 있는 자료를 가져 올 것인지 선택 (0부터 시작)
delimiter는 데이터가 어떻게 구분되어 있는지 정하는 건데 여기서는 콤마로 구분된 csv 파일을 사용하니 ', '라고 입력합니다.
dtype은 defalut로 float로 되어 있는데, 숫자로만 된 데이터를 가져올 거면 dtype은 생략하면 됩니다.
만약 문자도 섞여 있다면, dtype = 'str'으로 해야 숫자, 문자로 섞인 데이터를 불러올 수 있습니다. 숫자 데이터를 연산하거나 그래프 그리려면 파일을 불러오고 데이터를 추출해오는 과정에서 데이터 타입을 변경해주면 됩니다.
데이터 추출하기 (Pandas vs Numpy)
Pandas로 데이터 추출하기
두 가지 방법이 있는데, 결과는 동일합니다.
① column명으로 불러오기
# 데이터 추출하기
# 데이터명 = 파일명.loc[:, 'column명']
키 = data.loc[:,'height']
몸무게 = data.loc[:, 'weight']
# 추출한 데이터 확인하기
print(키, 몸무게)
② column 순서로 불러오기
# 데이터 추출하기
# 데이터명 = 파일명.iloc[:, 순서]
# 순서는 0부터 시작한다. 젤 앞에 데이터는 0이다.
키 = data.iloc[:,1]
몸무게 = data.iloc[:,2]
# 추출한 데이터 확인하기
print(키, 몸무게)
Numpy로 데이터 추출하기
# 파일에서 데이터 추출하기
# 데이터명 = np.array(파일명[:,순서])
키 = np.array(파일[:,0])
몸무게 = np.array(파일[:,1])
print(키)
print(몸무게)
불러온 데이터 중에 데이터 타입을 변경하고 싶다면, 처음 지정해준 데이터명 아래 같은 데이터명으로 코딩을 해줍니다. 데이터명 = np.asfarray(데이터명, 변경하고 싶은 데이터 타입)
# string으로 불러온 데이터 중 숫자로 된 데이터를 float로 바꿔주기
ID = np.array(문자파일[:,0])
키 = np.array(문자파일[:,1])
몸무게 = np.array(문자파일[:,2])
키=np.asfarray(키,float)
몸무게=np.asfarray(몸무게,float)
그래프 그려보기
추출한 데이터를 가지고 그래프 그리는 것은 동일합니다. 다만, 그래프 그리는 것도 라이브러리 종류에 따라 다른데, 오늘은 matplotlib 라이브러리를 이용해서 간단하게 그래프를 그려보겠습니다. 산점도(scatter)를 그려볼게요.
# 라이브러리 이용
import matplotlib.pyplot as plt
# 산점도 그래프 그리기
# plt.scatter(x, y, color = '원하는색', marker ='원하는모양', s = '마커사이즈')
plt.scatter(키2, 몸무게2, color='r', marker ='o', s = 20)
함께 읽으면 좋은 글
파이썬 그래프 범례 내 맘대로 수정하는 법 (matplotlib)
오늘 목표 오늘은 파이썬 그래프 범례를 여러가지 스타일로 바꾸어 보는 방법을 알아 보겠습니다. 라이브러리 가져오기 import matplotlib from matplotlib import font_manager,rc #한글 폰트 입력을 위한 라이
dotorimj2.tistory.com
파이썬 엑셀 데이터로 라인 그래프 그리기 with 평균, 표준편차 (matplotlib)
오늘 코딩 목표 파이썬 시각화 라이브러리 중에 matplotlib를 이용하여 평균과 표준편차가 있는 라인 그래프를 그려보겠습니다. 그런 뒤 다양하게 그래프를 수정해 보겠습니다. 아래 왼쪽의 엑셀
dotorimj2.tistory.com
파이썬 그래프에 한글 제목과 범례 사용하는 법
오늘 목표 지난 포스팅에서 연속적인 엑셀 데이터를 이용하여 평균과 표준편차를 나타내는 라인 그래프를 그렸었는데요. 오늘은 그 데이터와 그래프를 그대로 가져와서 한글로 차트 제목, 축
dotorimj2.tistory.com
'코딩' 카테고리의 다른 글
엑셀 파일 csv로 변환 코드 (tsv, sto, xlsx ↔ csv) (0) | 2021.06.17 |
---|---|
데이터 마이닝 :: 케이무크 무료 대학 강의 (0) | 2021.06.12 |
파이썬 그래프 범례 내 맘대로 수정하는 법 (matplotlib) (0) | 2020.12.18 |
파이썬 그래프에 한글 제목과 범례 사용하는 법 (0) | 2020.12.18 |
파이썬 엑셀 데이터로 라인 그래프 그리기 with 평균, 표준편차 (matplotlib) (0) | 2020.12.17 |
댓글