본문 바로가기
데이터분석과 AI/파이썬을 엑셀처럼 쓰기

0. 파이썬을 엑셀처럼 쓰기

by 우공80 2020. 10. 23.
728x90

파이썬을 엑셀처럼 쓰기

어쩌다 강사..


2020년부터 회사에서 데이터 분석 관련 사내강사로 발탁되어서 부족한 실력이나마 강의를 하고 있습니다.

저는 2018년 즈음에 처음 R 교육을 받았습니다. 그런데, 업무가 AI나 데이터 분석 쪽이 아니다 보니, 교육 후 쓸 일이 없어서 흐지부지 잊어버리고, 다시 교육받으면 또 새롭고.. 계속 이런 패턴이 반복되었습니다.

제가 이런 구간을 넘어서게 된 이유가 사실 사내강사로 발탁되면서부터인데요.
2020년에 데이터 분석 관련 사내강사 발탁한다고, 부서별로 1명씩 차출하라고 지시가 내려왔습니다.
근데, 당시 제가 R프로그래밍 책을 공부도 안 하면서 맨날 책상에 펴놓았는데, 그걸 보신 상무님께서 제가 뭐라도 되는 줄 알고 저를 올려버리신 거죠. 못한다고 말씀드렸는데도 괜찮다고 해보라고 하셔서 결국 포기도 못했습니다.

Excel 대신 Python 써보실래요?


강의는 강의교안 만든 대로 읊으면 되니까 어떻게 할 텐데, 질문을 받아주려면 실력은 그 이상이 되어야 하잖아요. 수강생 질문에 쩔쩔매는 모습을 상상하며, 진짜 밤새가며 열심히 공부했습니다. 그러면서 Python에 익숙해지려고 기존에 업무 하면서, 엑셀로 하던 것도 Python으로 했는데요.
Python을 엑셀처럼 쓸 수 있게 되면서 이게 실제 업무에서 상당히 유용하다는 것을 체감하게 되었습니다.

첫 번째는 속도입니다. 우리 회사 PC는 보안 프로그램이 설치되어 있어서 매우 느립니다. 그러다 보니, 조금만 큰 Excel 파일을 편집하려면, 필터 한번 걸었다 푸는데도 한참이 걸렸습니다. 어떤 때는 파일이 열리지 않고, 프로그램이 다운되는 일도 많았습니다. 그런데, python을 쓰면서는 더 큰 데이터도 문제없이 다룰 수가 있었습니다.

두 번째는 재사용성입니다. Excel에서 편집이 길어지면, 필터를 잘 못 걸거나 해서 데이터가 꼬이는 일이 종종 생깁니다.
그런데, Python은 코드를 한 번 짜면 그 뒤로는 해당 코드를 재활용하면 되므로 작업절차를 항상 유지할 수 있습니다.
(물론 Excel도 좋은 툴입니다. 대용량 데이터가 아니고, 데이터의 개별 편집을 하는 것에는 Excel 만한 툴이 없습니다.)

아래는 이런 Python과 Excel의 장단점을 정리해 놓은 표입니다.

Excel Python

- 데이터의 원하는 부분만 편집이 용이하다.
- 코드에 익숙해지는 데 시간이 필요하다
- 특정 행/열의 데이터를 변경하는 것이 Excel보다 불편하다




- 제공되는 그래프가 예쁘지 않다.
- 한번 코드를 짜면 계속 재사용이 가능하다.
- 코드를 복기하면 오류를 찾기 쉽다.
- 데이터가 커도 Excel만큼 느려지지 않는다.
- Column/Row의 수 제한이 없다.
- 아름답고 다양한 그래프를 그릴 수 있다.


데이터의 내용에 대한 개별적인 편집이 필요한 경우라면 Excel을 사용하는 것이 용이하고,
전체적인 구조를 변경(합치고 나누고 일괄 변경을 하고)하는 경우에는 Python이 용이합니다.

우리 회사 마케팅 부서 업무 하는 것을 보면, 자기 조직 및 하위 조직의 실적관리를 위해 DW 등 시스템 자료를 다운로드하여 Excel로 편집을 합니다. 그리고 조직별로 Excel을 분할하여 메일로 발송하기도 합니다.

이런 작업들을 매일매일 엑셀에서 편집하는 것이 여간 고된 일이 아닙니다. 적게는 한두 시간 길게는 하루 반나절을 이런 작업에 소모하기도 합니다.

이런 분들이 Python에 익숙해져서 Python을 Excel처럼 일상 업무에서 늘 사용할 수 있으면 좋겠다는 생각이 들었습니다. 단순하게 Excel의 불편한 부분을 Python으로 대신해서 업무 생산성을 올려도 좋고, 일단 Python에 익숙해지고 잘 사용하다 보면, 더 고급의 데이터 분석 스킬을 익히거나, 머신러닝/딥러닝 분야로 지식을 확장시킬 수도 있을 것 같습니다.

이런 생각을 바탕으로 "파이썬을 엑셀처럼 쓰기" 카테고리에서는 Python을 Excel처럼 쓰는데 필요한 코드만 정리해 보고, 마지막에는 몇 가지 정리한 코드들로 예제 데이터 분석을 해보겠습니다.

728x90

댓글