코딩

엑셀 파일 CSV 변환, 파이썬으로 파일 불러오기, 데이터 추출 3가지 방법, 그래프 그리기 (pd.read_csv VS np.loadtxt)

Bella0204 2021. 5. 22.

 

 오늘 목표

엑셀로 작업한 파일을 CSV로 변환하고, 그것을 파이썬으로 불러오고, 불러온 파일에 있는 데이터를 추출하는 방법을 소개하겠습니다. Jupyter notebook에서 python3로 실행했습니다. 오늘 목표는 아래와 같습니다. 

 

 

오늘코딩목표-엑셀데이터추출해서-파이썬으로-그래프그리기
오늘 목표

 

  • 엑셀 파일 CSV로 변환하기
  • 파이썬으로 CSV 파일 불러오기 (2가지 방법)
  1. pd.read_csv ('파일 경로')
  2. np.loadtxt ('파일 경로')
  • 데이터 추출 하기 (3가지 방법)
  • 간단히 산점도 그래프 그리기

 

 

 엑셀 파일 CSV로 변환하기

 

엑셀에서 [파일]-[다른 이름으로 저장] 선택 후에 파일 저장할 때 [파일 이름] 입력하고, 그 아래 파일 형식에서 [CSV(쉼표로 분리)]를 선택합니다. 엑셀 파일 자체를 파이썬으로 불러오고 데이터도 추출할 수 있지만, 프로그래밍할 때 엑셀 파일은 호환성 등의 문제가 있어 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)

 

데이터타입string을-float로바꾸기
string으로 불어온 데이터를 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로-산점도그리기
파이썬 matplotlib로 산점도 그려보기

 

 

 

 

함께 읽으면 좋은 글

 

 

파이썬 그래프 범례 내 맘대로 수정하는 법 (matplotlib)

오늘 목표 오늘은 파이썬 그래프 범례를 여러가지 스타일로 바꾸어 보는 방법을 알아 보겠습니다. 라이브러리 가져오기 import matplotlib from matplotlib import font_manager,rc #한글 폰트 입력을 위한 라이

dotorimj2.tistory.com

 

 

파이썬 엑셀 데이터로 라인 그래프 그리기 with 평균, 표준편차 (matplotlib)

오늘 코딩 목표 파이썬 시각화 라이브러리 중에 matplotlib를 이용하여 평균과 표준편차가 있는 라인 그래프를 그려보겠습니다. 그런 뒤 다양하게 그래프를 수정해 보겠습니다. 아래 왼쪽의 엑셀

dotorimj2.tistory.com

 

 

파이썬 그래프에 한글 제목과 범례 사용하는 법

오늘 목표 지난 포스팅에서 연속적인 엑셀 데이터를 이용하여 평균과 표준편차를 나타내는 라인 그래프를 그렸었는데요. 오늘은 그 데이터와 그래프를 그대로 가져와서 한글로 차트 제목, 축

dotorimj2.tistory.com

 

반응형

댓글