파이썬 패키지란? 대표적인 외부 라이브러리 알아보기

파이썬을 배울 때는 자신이 프로그래밍을 통해 구현하고자 하는 것을 쉽게 만들어주는 패키지들을 찾아내고 그 패키지들을 잘 활용하는 게 중요해요. 그렇다면 파이썬 외부 패키지에는 어떤 것들이 있을까요? 대표적인 몇 가지들을 소개해드릴테니, 관심이 가는 것들이 있다면 공식 홈페이지 또는 코드잇의 강의를 통해 더 알아보시면 됩니다.

Codeit
2024.08.23

코딩 지식, 한 단계 더 올려볼까요?

코드잇 강의로 더 깊이 
있는 학습을 시작하세요.

코딩에 입문하는 사람들이 가장 많이 선택하는 언어는 단연 파이썬이에요. 처음엔 흔히들 다른 프로그래밍 언어에 비해 배우기 쉽게 배울 수 있다는 이유로 파이썬을 많이 선택하는데요. 사실 공부하다 보면 가장 크게 체감되는 파이썬의 장점 중 하나는 이미 잘 만들어진 패키지나 라이브러리들이 엄청 많다는 점이에요.

image1

패키지란?

파이썬 개발자들이 여러 프로그래밍 분야에 유용하게 쓰이는 기능들을 코드로 이미 만들어놓은 코드의 묶음을 '외부 패키지' 또는 '외부 라이브러리'라고도 합니다. 덕분에 이런 패키지나 라이브러리들을 가져와서 잘 쓸 줄만 알아도 무궁무진하게 많은 것들을 할 수 있어요. 파이썬 하나만 제대로 배워두면 웹 개발, 데이터 분석 및 시각화, 머신러닝, 업무 자동화 등을 할 수 있게 되는 셈이죠.

결국 파이썬을 배울 때는 자신이 프로그래밍을 통해 구현하고자 하는 것을 쉽게 만들어주는 패키지들을 찾아내고 그 패키지들을 잘 활용하는 게 중요해요. 그렇다면 파이썬 외부 패키지에는 어떤 것들이 있을까요? 대표적인 몇 가지들을 소개해드릴테니, 관심이 가는 것들이 있다면 공식 홈페이지 또는 코드잇의 강의를 통해 더 알아보시면 됩니다.


데이터 분석 & 시각화

numpy

numpy는 'numerical python'의 줄임말로, 수학 및 과학 연산을 위한 파이썬 패키지입니다. 데이터 분석이나 머신 러닝을 할 때는 데이터가 행렬 형식인 경우가 많습니다. 그리고 이 값들을 가지고 다양한 수학적 계산을 해야 하는데요. 물론 파이썬의 내장 기능인 리스트 또한 numpy 배열과 동일한 기능을 제공하지만, numpy 배열은 데이터의 크기가 커져도 아주 효율적으로 다룰 수 있도록 구현되어 있기 때문에 데이터 사이언스에 필수적인 패키지입니다.

pandas

pandas는 데이터 처리와 분석을 위한 파이썬 패키지입니다. 결국 데이터 분석이나 머신 러닝을 하려면 데이터를 추출하거나, 데이터를 하나로 합치는 등 데이터를 다뤄야 하기 때문에 pandas는 데이터 분석의 가장 핵심적인 패키지라고 할 수 있습니다. 거의 모든 데이터 사이언스 패키지들은 pandas 와 연동됩니다.

matplotlib

matplotlib은 파이썬에서 가장 많이 쓰이는 데이터 시각화 라이브러리입니다. 그래프, 히스토그램, 산점도 등 일반적인 그래프들은 거의 다 matplotlib으로 그릴 수 있습니다.

seaborn

seabornmatplotlib를 기반으로 한 시각화 라이브러리입니다. 간단한 문법을 사용해서 matplotlib 에서 지원하지 않는 고급 통계 차트들을 그릴 수 있습니다.

머신 러닝

scikit-learn

scikit-learn은 가장 대중적인 머신 러닝 라이브러리입니다. 기본적인 머신 러닝 알고리즘은 모두 지원합니다. 데이터 가공, 모델 평가 기능도 제공합니다.

tensorflow, pytorch, keras

모두 딥러닝에 최적화된 라이브러리들입니다. 컴퓨터 비전에 많이 사용되는 CNN (Convolutional Neural Network), 자연어 처리에 많이 사용되는 RNN (Recurrent Neural Network) 모델 등을 구현할 수 있습니다.

nltk

nltk는 텍스트 데이터 가공, 시각화 등을 지원하는 자연어 처리 라이브러리입니다.

웹 개발

django

django는 파이썬에서 많이 쓰이는 웹 프레임워크입니다.

프레임워크 역시 패키지, 라이브러리와 마찬가지로 코드들의 묶음이지만 개념에 차이가 있습니다. 소프트웨어를 만드는 것을 집을 짓는 것으로 비유할 때, 패키지와 라이브러리를 사용하는 것은 집을 구성하는 요소들이 잔뜩 모여있는 모음을 빌려서 이용하는 것이라고 볼 수 있고, 프레임워크를 사용하는 것은 집의 뼈대와 일반적인 구조를 빌리는 것으로 볼 수 있습니다. 즉 프레임워크는 어떤 소프트웨어의 뼈대 같은 역할을 합니다.

django와 같은 웹 프레임워크는 웹 애플리케이션을 만들기 위한 뼈대입니다. 우리는 뼈대를 제외한 나머지 디테일을 채워 넣기만 하면 됩니다.

flask

flask는 파이썬에서 많이 쓰이는 또 다른 웹 프레임워크입니다. django 는 웹 개발에 필요한 모든 기능을 제공하지만 비교적 복잡하고 flask는 기본적인 기능만 제공하지만 비교적 간단합니다.

기타

beautifulsoup4

beautifulsoup4는 html 또는 xml 문서를 파싱(원하는 데이터를 특정 패턴이나 순서로 추출해 가공하는 것)해 주는 라이브러리입니다. 보통 웹에서 원하는 데이터를 긁어 오는 작업인 웹 스크레이핑 (web scraping)에 많이 사용됩니다.

selenium

selenium은 웹 브라우저 동작을 자동화해 주는 패키지입니다. selenium을 사용하면 클릭, 로그인, 검색, 스크롤링 등을 자동화할 수 있습니다. 웹 애플리케이션 테스팅 자동화와 웹 스크레이핑에 많이 사용됩니다.


(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇