파이썬/데이터프레임

파이썬/파이썬에서 데이터프레임 보기#1/jupyter variables/vscode/엑셀 데이터/필터걸기/데이터 전체보기

gongdol 2022. 9. 10. 17:53
300x250

vscode 로 파이썬을 사용하는데 pandas 사용시 아래와 같이 데이터 프레임을 보기가 힘들다. 

 

아래 엑셀 데이터를 데이터 프레임에 넣어서 print 해보면 아래 이미지와 같이 행과 열이 뒤죽박죽으로 보인다.

엑셀 파일로부터 가져온 데이터는 엑셀을 열어서 행과 열이 어떻게되어있는지 확인 할 수 있지만 엑셀 파일이 없는 생성된 데이터는 엑셀을 만들어 줘야한다. 

 

아래 예시를 보며 정리해보자.

 

1. 데이터 프레임 보기 어려움.

  -. 아래 엑셀 파일이 돌려보면 아래 이미지 처럼 print 되어 보기가 어렵다. 

  -. 행과 열이 뒤죽박죽이고 중간데이터는 ... 으로 생략되어 볼수조차 없다. 

사용된 엑셀파일(데이터)
print 시 출력된 데이터 프레임

 

2. 개선 방법

  -. vscode에 jupyter 확장하여 사용하는 것이다. 

  -. 쥬피터는 깔끔하게 정리해서 출력해준다. 

  

  1) jupyter 확장

      -. vscode에서 파이썬을 확장했듯이 아래 화면에서 install 해준다.

 

 2) 그다음 F1 누른 후 create: new jupyter notebook을 눌러준다. 

 

 

3) 이렇게 편집할 수 있는 창이뜬다. 

쥬피터 편집창

 

4) 이제 엑셀 데이터를 데이터 프레임으로 가져오는 코드를 작성해보자

   -. 쥬피터 사용전 위에서 파이썬 실행했던 코드와 동일하다. 

   -. 코드는 동일하나 데이터를 보여주는게 다르다.(결과확인)

   -. header와 인덱스를 조절하면 표만드는 시작부분을 조절한다. 변경하면 데이터프레임에 제외 된다. 


import openpyxl #openpyxl 사용하기 위해 불러오기

import pandas as pd

filename = r"C:\Users\lg\Downloads\lotto_1_1031.xlsx" #파일명 작성
wb = openpyxl.load_workbook(filename) #엑셀 파일 wb 저장
ws = wb.active # 열려있는 시트를 선택한다.

# header[0,1,2] 는 맨위의 3줄이 기준이며 표상단으로 올린다. 열은 첫번째열 기준이다. 
data = pd.read_excel(filename, header=[0,1,2], index_col=[0])
data # data를 출력한다.
 

5) 결과

   -. 아래 결과 이미지를 다시 엑셀 파일과 비교해보자. 확연히 보기 쉽다. 

   -. 다만 병합된 셀들이 NaN , Unnamed 로 나오는것을 볼 수 있다. 병합된 셀 처리는 추후 다시 정리해보겠다.

사용된 엑셀파일(데이터)
쥬피터 실행시 데이터 프레임 출력화면

 

6) 참고 (전체데이터 보기)

  -. 위 쥬피터를 통해 출력된 데이터 프레임 보면 ... 으로 생략되었음을 확인 할 수 있다.

  -. 전체데이터 보기

  

  6-1) 아래 터미널 창을 보면 jupyter bariables 있을것이다. 

        -. 방금 돌린 코드이 변수들을 보여준다.

        -. data 변수에 데이터를 넣어 줬으니 data를 클릭해보자.

  -. 아래와 같은 추가 창이 뜰것이다. 

     -> 그런데 데이터가 없다. 이유는 병합된 셀들에 의해 맛이 간것 같다. 병합된 셀 처리는 다음에 정리해 보겠다.    

     -> 예제가 병합된 셀이 없는 분들은 그냥 동작될것이다.

     -> 필터도 적용가능하니 엑셀 열지 말고 그대로보자.

300x250