데이터 분석을 위한 파이썬 왜 파이썬인가

2020-08-02 21:09:40


파이썬을 배우면 데이터 분석을 쉽게 할 수 있는가

딥러닝을 하게 되면 데이터를 분석할 필요가 거의 필수적으로 생깁니다. 쌓여가는 학습 데이터 속에서 필요한 정보만을 뽑거나 많은 데이터로부터 특징 정보를 찾는 등의 유의미한 정보를 뽑아내는 것이 필요하게 됩니다. 그런데 왜 파이썬을 배우면 데이터 분석의 기초가 되고 도움이 되는지 알아보려고 합니다. 일단 파이썬은 코딩을 입문하는 사람들이 많이 배우는 추세로 가고 있습니다. 컴퓨터 공학 전공자들은 초반에 C언어로 기초를 닦지만 비전공자들은 주로 파이썬으로 프로그래밍을 시작합니다. 파이썬의 특징은 동적 타이핑, 범용 프로그래밍 언어입니다. 또 다양한 플랫폼 윈도, 맥 등에서도 사용이 가능하며 동적 타이핑으로 자료형을 정해주며 코딩하는 형식이 아니라 프로그램을 한 줄 한 줄 실행하면서 실행시간에 자료형을 체크하게 됩니다. 객체지향 언어이며, 인터프리터 언어와 같이 동작하는 것이 특징입니다. 그러나 실행 시에는 빠른 속도를 보여주는 반전 매력이 있습니다. 구문의 구분을 중괄호를 사용하는 것이 아니라 들여 쓰기로 구분을 하고 있어서 C 계열의 언어를 사용하다 넘어오면 쉽게 이해가 되지 않을 수 있습니다. 다양한 연구 분야에서 사용되며 엄청난 과학 라이브러리들이 있으며 이를 활용하면 쉽고 빠르게 개발을 할 수 있습니다. 다른 언어로 하면 몇 달이 걸릴 수도 있는 일을 며칠 만에 수행할 수도 있습니다. 데이터 분석도 마찬가지로 여러 가지 라이브러리를 지원하고 있으며 이는 간단히 포함만 시켜주면 무료로 사용할 수 있어서 아주 강력합니다. 최근에는 하둡 보다 스파크를 사용하는 추세이죠. 더 뒤로 넘어가서 유명한 엑셀이라는 스프레드 시트가 있습니다. 많은 데이터를 표로 정리하거나 셀과 열에 포함하여 한눈에 보거나 필터를 만들어서 구분을 하고 데이터를 쉽게 다룰 수 있는 프로그램이죠. 또는 수식을 세워서 프로그래밍 수준까지는 아니어도 비슷한 결과를 낼 수 있습니다. 그러나 아무래도 엑셀에서 국한되기 때문에 제한되는 점이 많이 발생합니다. 그리고 파이썬으로도 충분히 해낼 수 있는 것입니다. 어쩌면 더 잘 해낼 수도 있을 문제죠. 그래서 여러 전문가와 연구자들이 생가 해낸 것이 더 빠르고 간략하게 데이터를 분석하기 위한 방법입니다 가장 유명한 라이브러리는 Pandas입니다. 판다 스는 파이썬에서 데이터 처리와 관련된 라이브러리로 데이터 조작, 시계열 분석 등을 쉽게 할 수 있게 해주는 도구입니다. 기본적으로 엑셀이 보유하고 있는 모든 기능을 포함한다고 생각하시면 됩니다. 즉 프로그램을 열어서 데이터를 입력하고 처리한다기보다는 판 다스를 사용해서 데이터를 가공하는 것이죠. 판 다스에서 데이터의 자료형으로는 시리즈와 데이터 프레임으로 구성됩니다. 시리즈는 일차원 형태로 만들어진 배열구조입니다. 그에 반해서 데이터 프레임은 여러 열을 가진 형태입니다. 즉 엑셀에 있는 스프레드시트와 같은 것을 의미한다고 봅니다. 표로 나타낼 수 있는 것을 모두 데이터 프레임으로 나타내는 것입니다. 또 넘 파이라는 라이브러리 또한 자주 사용됩니다. 넘 파이는 C언어로 구현되어 있기 때문에 빠르고 강력합니다. 그렇기 때문에 고성능이 필요한 수치계산에 많이 사용되며 벡터 연산을 지원하기 때문에 속도가 아주 빠릅니다. 연산 단위는 기본적으로 배열이며 행렬이라고 생각하시면 됩니다. 또 컴퓨터에 좋은 연산장치가 없어도 주피터 노트북을 통해서 인터넷 웹브라우저만 있으면 손쉽게 실습을 진행할 수 있습니다. 심지어는 컴퓨터가 없어도 스마트폰 브라우저로도 실습이 진행합니다. 이러한 장점들 때문에 파이썬을 사용한 데이터 분석이 필요하게 됩니다. 단순히 프로그래밍을 입문한다고 해서 파이썬을 배우는 것이 아니라 강력한 무료 라이브러리를 내포하고 있는 이유가 가장 큽니다. 그리고 간결한 문법과 가독성이 좋은 언어이기 때문이기도 하죠. 사실 저도 아직은 파이썬 새내기로 개발 경력은 그렇게 많지 않지만, 사용을 하면 할수록 그 매력에 빠지는 중이랍니다. 국내에서 진행하는 파이썬 콘퍼런스인 파이콘이라는 곳도 참여를 하면 수많은 파이썬 개발자들과 여러 아이디어를 나누는 자리를 만나보실 수 있습니다. 2020년에는 유행병 사태로 인해서 온라인으로 진행이 될 예정이라 아주 아쉽습니다. 그곳에 가서 다양한 굿즈를 얻는 재미도 한 건 하는데 말이죠. 게다가 지금 제가 일하는 회사에서는 파이썬도 썼다가 C도 썼다가 하는 곳이라서 여러 가지 언어를 포괄적으로 다룰 수 있어야 합니다. 뭐 사실 언어마다 다른 점은 있어도 프로그래밍 관점에서는 그렇게 크게 다르지 않아서 기본적인 문법만 배운다면, 쉽게 다른 언어로도 이동이 가능하다는 점은 맞습니다. 그러나 3개월 동안 파이썬만 사용해서 개발을 하다가 갑자기 자바를 하게 된다면 그전에 자바에 대한 지식이 있었어도 거의 잊어먹는 것이 사람이기 때문에 이 점에 대해서는 낙심할 필요 없이 또다시 공부를 해야 합니다. 이전에 저의 교수님이 말씀했던 말씀이 떠오릅니다. 인간은 망각의 동물이다. 그래서 한번 배운 것도 계속해서 다시 배우고 학습해야 한다고 말이죠. 특히 여러 문법이 혼동돼서 뇌에 혼란이 올 때도 그런 상황을 기가 막히게 파악하시고는 설명을 해주셨는데 아직도 기억에 많이 남습니다. 개발직으로 살려면 공부는 끝이 없는 것 같습니다. 그러나 개발 건도 끝이 없어서 공부할 시간이 없다는 것이 문제입니다. 자기 시간을 내어서 공부를 해야 하는데 퇴근을 하고 와서 공부를 하기란 쉽지가 않죠. 그래도 마음을 다잡고 하루 1시간만이라도 공부를 하는 것이 필요하다고 생각합니다.

Leave a Comment