이번 글에서는 pandas 설치방법과 excel 데이터 처리 방법을 소개합니다.
1. Pandas 설치 및 업데이트
pip install pandas
터미널에 pip install pandas를 입력합니다. (Visual Studio Code에서 진행)

저의 경우, 이미 pandas가 설치되어 있기 때문에 Requirement already satisfied 라는 문구가 뜨네요.
대신 새로운 버전으로 업데이트가 가능하다고 알려줘서 초록색으로 표기된 명령어를 그대로 복사하여 실행합니다.
python.exe -m pip install --upgrade pip

2. Excel 데이터 읽어오기
예를 들어 성적.xlsx 라는 파일이 있을 때, pandas를 활용해 데이터를 읽어와보도록 하겠습니다.

import pandas as pd
grade = pd.read_excel(r"C:\Users\Lenovo\Desktop\성적.xlsx")
우선, pandas를 import하고, grade 라는 변수에 pd.read_excel("엑셀 경로") 으로 엑셀파일을 데이터프레임(DataFrame) 타입으로 할당합니다.
이때, 경로를 쉽게 가져오는 방법은 파일을 클릭한 후에 Shift + F10 을 누르면 아래 사진처럼 경로로 복사할 수 있는 칸이 활성화 되고 A를 누르면 클립보드에 복사됩니다.
또 경로를 붙여넣을 때, ① 문자열 앞에 r을 적거나 ② 백슬래시(\)를 하나씩 더 붙여주면 됩니다.

※ 경로에 변수명을 넣을 때는 f-string 으로 처리할 때가 많으므로 ②로 처리 후 f-string으로 변수를 입력해줍니다.
f"{desktop_path}\\..."
읽어온 후, 정상적으로 데이터가 불러와졌는지 테스트 해봅니다.
print(grade.head())
# grade에서 5번째 행까지의 데이터를 출력
순번 이름 성별 성적
0 1 홍길동 남 80.0
1 2 김철수 남 70.0
2 3 김영희 여 100.0
3 4 강아무개 남 90.0
4 5 박이름 남 NaN
※ 필드 데이터가 비어있는 경우에는 NaN 으로 데이터를 읽어옵니다.
import pandas as pd
grade = pd.read_excel(r"C:\Users\Lenovo\Desktop\성적.xlsx", sheet_name="sheet1")
# sheet_name = "열고자 하는 시트명"
※ Excel에 Sheet가 여러 개 있을 때, 특정 Sheet를 읽으려면 위와 같이 sheet_name = "열고자 하는 시트명"을 추가하면 됩니다.
3. 데이터 처리
저의 경우, 엑셀의 각 행(ROW) 별로 for문을 돌리면서 추출하고자 하는 조건에 해당하는 값들만 뽑아내는 식으로 데이터 처리를 하는데, 어떻게 필요한 값들을 추출하는지 예시를 보여드리겠습니다.
import pandas as pd
grade = pd.read_excel(r"C:\Users\Lenovo\Desktop\성적.xlsx")
grade_sum = 0
for i in grade.index:
# grade.index → 0, 1, ... , 4
if grade.at[i,"성별"] == '남' and str(grade.at[i,"성적"]) != 'nan':
# 성별이 '남'이고, 성적이 비어있는 셀이 아닌 경우만 성적 합계
grade_sum += grade.at[i,"성적"]
print(grade_sum)
# 240.0
4. 필요한 필드만 추출
grade DataFrame에서 성적이 80 이상인 행들만 추출하여 새로운 DataFrame에 할당하려면, 아래의 방법을 활용하시면 됩니다.
import pandas as pd
grade = pd.read_excel(r"C:\Users\Lenovo\Desktop\성적.xlsx")
new_grade = grade[grade["성적"] >= 80]
# 성적이 80 이상인 행들만 추출
print(new_grade.head())
순번 이름 성별 성적
0 1 홍길동 남 80.0
2 3 김영희 여 100.0
3 4 강아무개 남 90.0
-------------------------------------------------------------
new_grade = new_grade[["이름","성적"]]
# new_grade DataFrame에서 이름/성적 필드만 추출
print(new_grade.head())
이름 성적
0 홍길동 80.0
2 김영희 100.0
3 강아무개 90.0
5. 처리한 데이터를 Excel 로 저장하기
처리한 데이터를 Excel로 저장하는 방법은 아래와 같습니다.
import pandas as pd
grade = pd.read_excel(r"C:\Users\Lenovo\Desktop\성적.xlsx")
new_grade = grade[grade["성적"] >= 80]
new_grade = new_grade[["이름","성적"]]
new_grade.to_excel(r"C:\Users\Lenovo\Desktop\성적(수정).xlsx")

초기 index가 A열에 작성된 채로 데이터가 저장됩니다. to_excel로 내보내기 전에 별도 처리하면, A열을 없앨 수도 있습니다.
6. 정리하며
Pandas 에는 다양한 함수들이 많아서 더 효율적으로 데이터 처리를 하는 방법들도 많고, 처리된 데이터를 엑셀로 저장할 때도 여러 처리를 할 수 있습니다.
(예시) 2개의 엑셀 파일이나 sheet에서 Vlookup 처리하는 방법 등(pd.merge 활용) / 열 너비 조절, 폰트 설정 등
여기서는 다루지는 않고, 추후에 기회가 되면 글을 작성해보겠습니다.
Pandas 활용 방법을 익히기 좋은 사이트(Pandas 10분 완성)를 추천해드리니 참고해보세요
판다스 10분 완성 / 10 Minutes to Pandas
Pandas 10분 완성 역자 주 : 본 자료는 10 Minutes to Pandas (하단 원문 링크 참조)의 한글 번역 자료로, 번역은 데잇걸즈2 프로그램 교육생 모두가 함께 진행하였습니다. 데잇걸즈2는 과학기술정보통신
dataitgirls2.github.io
댓글 영역