brunch

You can make anything
by writing

C.S.Lewis

by 홍창수 Apr 25. 2020

파이썬 판다스(pandas)를  만들다

나이스피앤아이 홍창수 Ph.D


헤지펀드  AQR의 퀀트, 웨스 맥키니(Wes McKinney) 파이썬 판다스를 만들다


판다스(pandas)는 데이터분석을 위해 널리 사용되는 파이썬 라이브러리 패키지이다. 구글, 페이스북, 제피모건(JP Morgan) 및 데이터를 분석하는 모든 주요 회사의 데이터과학자는 판다스를 이용한다. 판다스는 R의 데이터프레임(Dataframe)과 유사한 파이썬 라이브러리로 넘파이(NumPy) 기반으로 개발되어 넘파이와도 잘 어울리고 데이터를 엑셀표처럼 사용이 가능하다. 즉, 엑셀의 행과 열과 유사한 2차원의 데이터구조로 되어 있어 데이터를 자르고 붙이고 원하는 형태로 가공할 수 있어 데이터전처리가 아주 쉽다. 

판다스를 알면 데이터분석의 80~90%의 처리가 가능하고 금융시계열분석에도 많이 이용된다. 현재 파이썬 데이터분석에서 빼놓을 수 없는 라이브러리로 자리매김 되었지만 개발된 배경은 좀 이색적이다. 헤지펀드 AQR Capital Management에서 프론트 퀀트리서치팀에서 근무하고 있던 웨스 맥키니(Wes McKinney)가 금융데이터에 계량분석(맥키니는 AQR에서는 주로 글로벌 매크로 및 신용거래 전략을 연구했다)을 수행할 수 있는 적합한 데이터 분석 도구의 필요성을 느끼고 2008년 파이썬을 배우면서 시작한 프로젝트가 판다스(pandas)이다. 


헤지펀드에서도 데이터가 가장 중요하며, 데이터작업에서 가장 중요한 작업은 새로운 데이터 소스를 수집하고, 데이터셋을 병합하고, 정리하는 일이다. 데이터과학에서 일하는 사람이라면 누구나 알고 있듯이 “고급데이터”는 “고급분석”보다 훨씬 중요하다. 본인의 전공이 수학(MIT 이론수학)이었고 프로그래밍에 익숙하지 않았기 때문에 초창기에는 컴퓨터과학을 전공한 대학 친구이자 AQR 동료인 창시(Chang She)-중국인으로 10살 때 미국으로 이사-와 함께 파이썬을 공부하면서 코드의 많은 부분을 시작했다. 



판다스(pandas)라는 이름은 판다곰을 연상시키는 단어이나 동일기관이나 개인에 대해 다기간에 걸친 관측치를 포함하여 분석하는 계량경제학에서 쓰이는 용어인 패널 데이터에 시스템을 붙인 "패널 데이터 시스템(panel data system)"에서 이름이 유래되었다. 2013년 웨스 맥키니가 앞서 이야기한 AQR동료인 창시(Chang She)와 창업한 데이터패드(DataPad)-주로 시각적 분석시스템을 판매-가 2014년에 클라우데라에 인수된 이후 2016년 아파치 소프트웨어 재단의 멤버로 파이썬 데이터과학 프로젝트에서 투시그마의 소프트웨어 엔지니어로 일했다. 


또한, 웨스 맥키니는 RStudio와의 파트너십으로 구축된 아파치 애로우로 구동되는 파이썬 및 R용 데이터과학 분석도구에 중점을 둔 비영리개발그룹인 Ursa Lab의 이사로 활동하고 있다. 맥키니는 판다스와 더불어 “Python for Data Analysis”(파이썬 라이브러리를 활용한 데이터분석, 한빛미디어, 2019년, 제2판)라는 저서도 유명하다. 아래는 판다스를 개발한 웨스 맥키니에 이어 2번째로 가장 큰 기여자로 공식 인정된 창시(Chang She)가 인터넷에 밝힌 판다스 개발이 시작된 동기에 대해 밝힌 부분이다.

"모두 알고 있듯이 판다스(pandas)는 웨스 맥키니에 의해 만들어졌습니다. 그와 저는 헤지펀드 AQR Capital Management에서 함께 일했습니다. 우리가 주니어 분석가였을 때, 우리의 직무는 데이터 로딩 및 정리, 데이터준비, 데이터 엔지니어링 작업이었습니다. 당시의 도구는 엄청나게 비효율 적이었습니다. 웨스 맥키니는 다음과 같이 이야기 했습니다. "좋아요. 쉽게 할 수 있는 도구를 만들어 봅시다. 아, 넘파이(NumPy)라는 것이 있는데, 행렬과 배열 조작을 매우 쉽게 만듭니다. 다만, 실제 이용할 수 있는 데이터까지 도달하려면 넘파이가 해결하기에 적합하지 않은 종류의 문제가 많으므로 새로운 것을 만들어봅시다." 이것이 바로 판다스(pandas)가 만들어진 계기가 되었습니다.”


[개인적으로 좋아하는 참고할 pandas 스터디자료]

파이썬 머신러닝 판다스 데이터분석, 오승환 지음, 정보문화사, 2019년

pandas 팬더스 데이터분석 기초실습, 유튜브 무료동영상, 허민석



작가의 이전글 금융시장이 원하는 퀀트(Quant)의 유형은 변화한다.
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari