본문 바로가기
프로그래밍

아낌없이 주는 나무...말고 라이브러리

by Good.PhD 2024. 11. 8.

코딩할 때 사실 내가 직접 짜야하는 코드는 생각보다 적다. 왜? 다른 사람이 작성한 내용을 그냥 가져다 쓰면 되기 때문이다. 상당히 많은 코드들이 공개되어 있다. 내가 원하는 작업을 수행하는데 적합한 코드가 있다면 다운받아서 설치해서 쓰면 그만이다. 이런 코드들을 라이브러리라고 부른다. 도서관이랑 비슷하다. 수많은 책 중에서 내가 원하는 정보를 빌려오는 것과 같다. 다른 사람이 작성한 수많은 코드 중에서 내가 필요한 코드만 가져와서 사용하면 된다. 처음부터 모든 것을 개발할 필요는 없다는 사실!

 

코딩 공부의 진실!

코딩을 배우면 초반에 여러가지 단순한 기능들을 만드는 과정을 거친다. 초보자에게는 쉬운 문제가 아니기 때문에 굉장히 어렵게 느껴진다. 코딩을 업으로 하면 내가 이런걸 다 만들어야 하나..? 어떻게 다 만들지..? 내 길이 아닌가.. 

그렇지 않다. 적합한 라이브러리를 찾아서 사용하면 된다. 그래서 실전에서는 코딩 공부는 곧 라이브러리 공부라고 할 수 있다. 예를 들어서 그래프를 그려야 한다면 그래프 그리는데 사용하는 라이브러리 사용 방법을 익히면 된다. 엑셀 파일에 있는 데이터에서 통계 수치를 계산해야 한다면? 이에 적합한 라이브러리 사용 방법을 익히면 된다.

 

파이썬에서 그래프를 그릴 때 사용하는 라이브러리는 matplotlib, 데이터 분석에 사용되는 라이브러리는 pandas다. 이것보다 더 많이 있긴 하지만 많은 사람이 대표적으로 사용하는 라이브러리다. 사용자가 많다보니 관련된 질문도 많고 이에 대한 답변도 수두룩 하다. 그래서 코딩하다가 막히면 구글에 질문을 검색해보면 된다. 그러면 아마도 아래와 같은 웹사이트에서 답을 찾을 수 있을 것이다. 사람들이 코딩하다가 막힐 때 질문을 공유하는 곳이기 때문이다.

 

https://stackoverflow.com/

 

Stack Overflow - Where Developers Learn, Share, & Build Careers

Stack Overflow | The World’s Largest Online Community for Developers

stackoverflow.com

 

라이브러리 공식 홈페이지도 있다. 그 홈페이지에 들어가보면 다양한 예시와 활용 가능한 case study들이 가득하다. 그래프를 그리다보면 막힐 때가 자주 있는데, 그럴 때마다 matplotlib 웹사이트에서 정보를 찾아보곤 한다. 구글에서 파이썬으로 그래프 그리는 방식을 검색했을 때 상위에 검색되는 페이지기도 하다. 이런식으로 라이브러리에 대한 정보를 쉽게 찾다.

https://matplotlib.org/

 

Matplotlib — Visualization with Python

seaborn Cartopy DNA Features Viewer plotnine WCS Axes seaborn seaborn is a high level interface for drawing statistical graphics with Matplotlib. It aims to make visualization a central part of exploring and understanding complex datasets. statistical data

matplotlib.org

 

라이브러리 배우는게 쉽다고?

위에서 라이브러리 배우는게 쉽다고 작성은 했지만, 사실 처음 보는 라이브러리를 이해하려면 꽤 품이 들어간다. 어떤 부분이 어렵냐고?

1) 일단 문서자체를 이해하는데도 시간이 많이 걸린다.

2) 라이브러리 안에 무슨 기능이 있는지 파악하는게 어렵다.

3) 이해한 줄 알았는데 코드 실행해보니 에러 투성이...

 

내가 직접 짜는 것 보다는 라이브러리를 사용하는게 쉬운건 맞다. 하지만 라이브러리 사용법을 익히는 것도 쉽지는 않다. 그래서 생성AI가 큰 도움이 된다. 특정 라이브러리를 이용한 코드를 작성해 달라고 하면 꽤 훌륭하게 작성이 된다. 라이브러리 문서를 보고 배우는 것보다 생성AI에서 작성한 코드를 직접 테스트 하는게 훨씬 빠르게 라이브러리 사용법을 배울 수 있는 길이다.

 

아래는 코파일럿에게 pandas를 이용해서 데이터 분석을 하는 방법에 대한 예시 코드를 작성해달라고 요청한 내용이다. pandas 라이브러리를 사용하기 위해서 먼저 설치 방법 안내를 해준다. 이미 설치할 줄 아는데 매번 설치하라고 안내가 나와서 조금 귀찮긴 하지만, 처음 사용하는 사람에겐 유용한 정보다.

그나저나 최근에 코파일럿 디자인이 이쁘게 바뀌어서 마음에 든다.

Pandas 사용 방법

 

그 다음에는 실제 코드 예시다. 아래와 같은 코드를 작성해준다. 그러면 여기서 어떻게 기본적인 통계 수치를 뽑아낼 수 있는지에 대한 예시를 보여준다. 수업시간에 이렇게 활용해보라고 하면 코드를 복붙하느라 바쁜데, 먼저는 코드를 천천히 읽어보고 각 줄을 이해하는게 필요하다.

pandas 예시 코드

 

그리고 코드 밑에 자세한 설명도 있다. 처음엔 데이터를 읽어왔고... 그 다음엔 데이터를 볼 수 있게 출력했고.. 그리고 나서 describe()를 사용해서 기본적인 통계치를 계산하고... 등등 차례대로 써 있다. 코드가 이해가 안되면 코드에서 이해가 안되는 부분에 대해서 다시 질문을 하면 된다. 그렇게 질문을 반복하면 내가 하고 싶은 기능 정도는 쉽게 익힐 수 있다. 

코드 설명

 

pandas 안에는 어마어마하게 많은 기능들이 있다. 다만 내가 그걸 다 알 필요는 없을 뿐.. 나한테 필요한 기능이 뭔지 어떻게 쓰는지만 알면 된다. 하고 싶은 일을 설명하고 어떤 라이브러리를 쓰면 좋을지 물어보는 것도 좋은 방법이다. 적합한 라이브러리를 찾아줄거다.

 

코파일럿 덕분에 새롭게 알게된 라이브러리도 있고, 라이브러리 안에서도 새로운 기능들을 많이 발견하기도 했다. 오늘 예시에서 나온 describe()라는 기능도 사실 잘 모르던 기능이다. 라이브러리 문서를 계속 봐야 업데이트도 알텐데 이제는 코파일럿이 찾아주니 훨씬 빠르게 신규 업데이트 정보도 접할 수 있게 되었다.

아낌없이 주는 라이브러리들! 코파일럿과 함께 사용법을 익혀보자 :D