본문 바로가기
판다스/기초 파이썬

[python] 8. 모듈

by 김판다t 2024. 11. 15.

데이터 분석 입문을 위한 기초적인 파이썬 내용을 다룹니다. 데이터 분석은 주로 파이썬의 라이브러리인 판다스를 활용해 이루어지며, 이를 위해 기본적인 파이썬 개념에 대한 이해가 필요합니다. 하지만 이것은 파이썬을 완벽하게 숙달해야 한다는 의미는 아닙니다. 그렇기에 판다스와 데이터 분석에 입문할 수 있도록 핵심 파이썬 개념을 간략하게 제공할 것입니다.

 

 

8. 모듈

모듈과 라이브러리

 

모듈은 특정 기능을 수행하기 위해 미리 작성된 코드의 묶음으로, 효율적이고 재사용 가능한 프로그래밍을 지원합니다. 모듈은 하나의 파일로 구성되며, 다양한 함수, 클래스, 변수 등을 포함하여 필요한 기능을 하나로 묶어 제공합니다. 이를 사용하면 동일한 코드를 반복 작성하지 않고도 필요한 기능을 쉽게 활용할 수 있습니다. 라이브러리는 여러 파일로 구성된 모듈의 집합입니다. 라이브러리도 넓은 의미에서는 모듈입니다.

 

모듈의 장점

 

파이썬의 강력함은 풍부한 모듈과 라이브러리에서 비롯됩니다. 기본 파이썬만으로 작업하는 경우는 드물며, 대부분 모듈이나 라이브러리를 활용해 작업의 효율성을 높입니다. 특히, 타인이 작성한 모듈의 함수를 사용하면 복잡한 문제도 간단하고 손쉽게 해결할 수 있습니다. 

 

모듈의 장점은 다음과 같습니다.

 

  • 재사용성: 동일한 코드를 여러 번 작성할 필요 없이, 한 번 작성된 모듈을 여러 곳에서 재사용할 수 있습니다.
  • 효율성: 모듈에서 제공하는 함수나 클래스를 활용하면 복잡한 작업도 간단히 처리할 수 있습니다.
  • 유지보수 용이성: 코드가 분리되어 있어 특정 기능만 수정하거나 업데이트하기 쉽습니다.

 

모듈 불러오기

 

파이썬에서 모듈은 import 키워드를 사용하여 불러옵니다. 모듈을 불러오면 그 안에 정의된 함수, 클래스, 변수 등을 사용할 수 있습니다. 다음은 수학 함수와 상수를 포함하는 math 모듈을 불러오는 예시입니다.

# math 모듈 불러오기
import math

 

모듈 이름이 길거나 자주 사용하는 경우, as 키워드로 짧은 별칭을 지정할 수 있습니다. 모듈의 함수는 항상 모듈 이름과 함께 사용되므로 짧은 별칭이 편리합니다.

# pandas 라이브러리를 불러와 pd라는 별칭으로 사용
import pandas as pd

 

 모듈의 함수 사용하기

 

math 모듈의 factorial 함수를 사용하면 수학의 팩토리얼(예: 5!=120)을 손쉽게 계산할 수 있습니다. 단, math 모듈의 함수를 사용하므로 math.factorial 형식으로 호출해야 합니다.

import math

# math 모듈의 factorial 함수 사용
math.factorial(5)  # 출력: 120

 

모듈의 도움 없이 위 작업을 수행하려면, 다음과 같이 반복문을 사용해 직접 함수를 생성해야 합니다. 하지만 타인이 미리 작성해 둔 모듈의 유용한 함수를 사용하면, 코드가 간결해지고 작업 시간이 현저히 줄어듭니다. 

# 반복문으로 팩토리얼 계산
def get_factorial(n):
    result = 1
    for i in range(1, n + 1):
        result *= i # result = result * i 와 같다.
    return result

get_factorial(5)  # 출력: 120

 

모듈의 버전 확인

 

타인이 작성한 모듈은 지속적으로 업데이트됩니다. 이에 따라 함수의 사용법이 변경되거나 사라질 수 있습니다. 따라서 항상 모듈의 버전을 확인하는 것이 중요하며, 이는 __version__ 속성을 통해 확인할 수 있습니다.

import pandas as pd

# 별칭인 pd에 __version__ 속성을 적용해 버전 확인
pd.__version__ # 출력: '2.2.2'

 

모듈과 라이브러리 소개

 

데이터 분석에 유용한 라이브러리는 다음과 같습니다:

  • NumPy: 고성능 다차원 배열과 수학적 연산을 지원하는 핵심 라이브러리입니다.
  • Pandas: 구조화된 데이터를 효율적으로 처리하고 분석할 수 있는 데이터 프레임과 시리즈를 제공합니다.
  • Matplotlib: 데이터를 시각적으로 표현하기 위한 기본 그래프 도구를 제공합니다.
  • Seaborn: Matplotlib 기반으로 더욱 직관적이고 아름다운 데이터 시각화를 지원합니다.

여러분이 앞으로 공부하게 될 라이브러리들입니다.

 

그 외 유용한 라이브러리도 소개합니다.

  • os: 운영 체제 기능 제공 (파일/디렉토리 관리, 환경 변수 등)
  • sys: 파이썬 인터프리터와 관련된 기능 (명령행 인자, 표준 입출력 등)
  • io: 파일, 스트림 작업을 위한 다양한 도구 제공
  • glob: 파일 경로 패턴 매칭
  • json: JSON 데이터 처리
  • csv: CSV 파일 읽기/쓰기
  • beautifulsoup: HTML 및 XML 문서 파싱(웹 크롤링에 유용)
  • math: 기본 수학 함수 (삼각함수, 로그 등)
  • statistics: 통계 함수 (평균, 분산, 중앙값 등)
  • random: 난수 생성 및 무작위 선택
  • decimal: 고정소수점 및 임의 정밀도 산술
  • fractions: 분수 표현과 연산
  • datetime: 날짜와 시간 조작
  • time: 시간 측정 및 처리
  • calendar: 달력 관련 기능
  • re: 정규 표현식
  • string: 문자열 관련 상수 및 유틸리티
  • urllib: URL 작업 (요청, 응답 처리 등)
  • http: HTTP 프로토콜 관리
  • itertools: 반복자 생성기 및 조합 함수
  • enum: 열거형 클래스

 

모두 그동안 정말 고생 많으셨습니다. 여러분과 함께한 기초 파이썬 수업이 여러분 인생의 중요한 전환점이 되기를 진심으로 바랍니다. 이제 파이썬의 기본기를 탄탄히 다졌으니, 보다 강력한 도구들을 활용할 차례입니다. 바로 라이브러리를 배우러 갈 시간입니다. 데이터 분석, 시각화, 머신러닝 등 다양한 분야에서 라이브러리는 여러분의 작업을 더욱 효율적이고 전문적으로 만들어 줄 것입니다. 새로운 배움을 통해 더 큰 도전을 이어가시길 기대합니다!


 

유튜브에서 판다스 강의 중입니다.

https://www.youtube.com/@KimPandas