Python 라이브러리 정리

wish17·2023년 8월 3일
0

[NIPA] Ai + 웹개발

목록 보기
17/24

Counter

from collections import Counter
메서드설명
elements()카운터 객체 내의 요소를 카운트된 횟수만큼 반복해서 반환하는 이터레이터 생성
most_common(n)가장 빈번하게 등장하는 n개의 요소와 그 횟수를 리스트로 반환
subtract(iter)이터러블 또는 매핑의 데이터를 카운터 객체에서 빼기 연산 수행
update(iter)이터러블 또는 매핑의 데이터를 카운터 객체에 더하기 연산 수행
+두 카운터 객체의 요소 별 합을 반환한다.
동일한 요소의 경우 개수가 더해진다.
-두 카운터 객체의 요소 별 차를 반환한다.
동일한 요소의 경우 개수가 차감된다.
&두 카운터 객체의 교집합을 반환한다.
동일한 요소의 경우 개수가 작은 것이 선택된다.
마크다운 오류두 카운터 객체의 합집합을 반환한다.
동일한 요소의 경우 개수가 큰 것이 선택된다.

마크다운 오류 => |
ex. union = list((counter1 | counter2).elements())


NumPy

수치 데이터를 다루기 위한 파이썬 라이브러리로, 다차원 배열과 행렬 연산을 효과적으로 수행할 수 있게 해준다.

함수/메서드설명
numpy.array()주어진 데이터로부터 배열을 생성
numpy.arange()지정한 범위와 간격으로 배열 생성
numpy.linspace()지정한 범위 내에서 균등하게 간격을 둔 숫자를 생성
numpy.zeros()지정한 형태와 타입의 0으로 채워진 배열 생성
numpy.ones()지정한 형태와 타입의 1로 채워진 배열 생성
numpy.empty()초기화되지 않은 값으로 채워진 배열 생성
numpy.full()지정한 형태와 타입의 특정 값으로 채워진 배열 생성
numpy.random.random()랜덤한 값으로 채워진 배열 생성
numpy.reshape()배열의 형태를 변경
numpy.transpose()배열의 축을 전치 (Transpose)
numpy.dot()두 배열의 내적 계산
numpy.sum()배열의 요소 합계 계산
numpy.mean()배열의 평균값 계산
numpy.std()배열의 표준 편차 계산
numpy.var()배열의 분산 계산
numpy.min()배열의 최소값 찾기
numpy.max()배열의 최대값 찾기
numpy.argmin()배열의 최소값 인덱스 찾기
numpy.argmax()배열의 최대값 인덱스 찾기
numpy.concatenate()두 개 이상의 배열을 연결
numpy.split()배열을 여러 하위 배열로 분할
numpy.sin(), numpy.cos()수학적 함수를 배열의 각 요소에 적용

문제라이브러리/메서드설명사용 예시
루돌프의 반란NumPy고성능 수치 계산을 위한 라이브러리. 다차원 배열을 효율적으로 처리할 수 있음.import numpy as np
grid = np.array(...)
Collections다양한 컨테이너 데이터 타입을 제공. deque는 양쪽 끝에서 빠르게 데이터를 추가하거나 제거할 수 있는 리스트형 컨테이너.from collections import deque
queue = deque(...)
itertools반복 가능한 데이터 스트림을 처리하는 데 사용되는 여러 함수 및 생성자를 제공.from itertools import permutations
for perm in permutations(...):
math수학적 연산을 위한 함수를 제공.import math
distance = math.sqrt(...)
왕실의 기사 대결NumPy2차원 격자 관리 및 계산.import numpy as np
board = np.array(...)
Collections기사의 위치, 상태 관리에 사용.from collections import deque
knight_positions = deque(...)
메이즈 러너NumPy미로와 참가자 위치 관리.import numpy as np
maze = np.array(...)
Collections참가자의 이동과 상태 관리.from collections import deque
participants = deque(...)
itertools미로 회전 시 다양한 경우의 수 계산에 사용.from itertools import combinations
for combo in combinations(...):
포탑 부수기NumPy격자 기반 데이터 관리.import numpy as np
grid = np.array(...)
Collections포탑 상태 추적.from collections import deque
turrets = deque(...)
itertools다양한 조건에 따른 순열 및 조합 계산.from itertools import product
for coords in product(...):
heapq최소/최대 힙 구조를 통해 가장 약한/강한 포탑 선정.import heapq
heapq.heappush(...)
weakest = heapq.heappop(...)

NumPy

  • 설명: 고성능 수치 계산을 위한 라이브러리. 다차원 배열, 행렬 연산 등을 지원하며, 대규모 데이터 처리에 유용.
  • 사용법: import numpy as np 후, np.array(...) 등의 방법으로 배열 생성 및 조작.
  • 주의점: 배열 크기가 변경되면 새로운 배열 생성. 배열 크기나 형태를 변경할 때 주의 필요.
  • 입력/출력 타입: 리스트, 튜플 등을 입력으로 받아 NumPy 배열 반환.

Collections.deque

  • 설명: 양 끝에서 요소를 빠르게 추가하거나 제거할 수 있는 리스트형 컨테이너. 스택이나 큐의 기능을 모두 갖춤.
  • 사용법: from collections import deque 후, deque([...])로 생성. .append(), .pop(), .popleft(), .appendleft() 등으로 조작.
  • 주의점: 중간 요소에 접근하는 경우, 리스트보다 비효율적일 수 있음.
  • 입력/출력 타입: 리스트, 튜플 등을 입력으로 받아 deque 객체 반환.

itertools.permutations

  • 설명: 입력된 반복 가능한 요소들로부터 모든 가능한 순열을 생성하는 함수.
  • 사용법: from itertools import permutations 후, permutations(iterable, r) 형태로 사용. iterable은 순열을 생성할 대상, r은 순열 길이.
  • 주의점: 대규모 데이터에 사용 시 많은 메모리와 시간 소모 가능.
  • 입력/출력 타입: 반복 가능한 입력(리스트, 문자열 등)을 받아 순열을 생성하는 이터레이터 반환.

math.sqrt

  • 설명: 숫자의 제곱근을 계산하는 함수.
  • 사용법: import math 후, math.sqrt(x) 형태로 사용. x는 제곱근을 구할 숫자.
  • 주의점: 음수에 대해 사용하면 에러 발생. 부동 소수점 정밀도에 따라 결과가 다소 차이 날 수 있음.
  • 입력/출력 타입: 숫자 입력, 제곱근 결과를 부동 소수점 형태로 반환.

heapq

  • 설명: 힙 자료구조를 제공하는 라이브러리. 최소 힙(min heap)을 기본으로 함.
  • 사용법: import heapq 후, heapq.heappush(heap, item), heapq.heappop(heap) 등의 함수 사용. 리스트를 힙으로 사용 가능.
  • 주의점: 기본적으로 최소 힙만 제공하므로 최대 힙 구현 시 요소의 부호 변경 필요.
  • 입력/출력 타입: 리스트를 입력으로 받아 힙 연산 후 변형된 리스트 반환.

0개의 댓글