skinOptions.hljs
[Python] tqdm 라이브러리 - 작업 진행률 표시
·
python/라이브러리
tqdm 라이브러리 - 작업 진행률 표시 tqdm이터러블을 둘러싸서 스마트 진행률 표시줄을 출력할 수 있는 Python 라이브러리입니다. NS tqdm 진행률 표시줄은 경과된 시간을 표시할 뿐만 아니라 iterable에 대해 남은 예상 시간도 표시합니다. 1. tqdm 모듈 설치하기 (Pycharm) pip install tqdm 2. 라이브러리 임포트하기 # Library import from tqdm import tqdm 3. 구현하기 이터러블 객체(반복가능한 객체)를 tqdm으로 감싸면 된다. from tqdm import tqdm range = range(0,10) for num in tqdm(range): print(num)
[기초] Altair / 데이터 시각화
·
python/라이브러리
보호되어 있는 글입니다.
[자료구조] 트리 Tree / Python 파이썬
·
python/자료구조 & 알고리즘
트리 (Tree) 트리(Tree)는 계층적 데이터를 저장하고 활용하기 위한 자료구조이다. 트리의 특징 트리는 비선형적(none-linear) 구조의 자료구조다. 트리는 연결리스트와 동일하게 노드(Node)를 가지고있다. 각 노드는 엣지(Edge)로 연결되어있다. 각 노드는 부모(Parent) / 자식(Child) 관계를 가진다. 트리 자료구조의 구성 요소: 루트(root)노드: 가장 꼭대기에 있는 도드 잎새(leaf)노드: 트리의 마지막 노드, 즉 자식이 없는 노드 높이(height = Level): 높이는 잎새(leaf) 노트부터의 경로 길이 깊이(depth): 깊이는 루트에서 노드로의 경로 길이 이진 트리(Binary Tree) 그 중, 자식 노드가 최대 2개까지만 붙는 트리를 이진트리(Binary ..
[기초] Seaborn 라이브러리 정리 / Python 파이썬
·
python/라이브러리
Seaborn(SNS)를 사용한 파이썬 데이터 시각화 기초 matplotlib Seaborn 홈페이지 데이터 과학을 공부하는 데 있어 필수적인 데이터 시각화에 대해서 공부하도록 하겠습니다. 오늘은 Seaborn 과 matplotlib를 사용하여 데이터를 시각화하는 방법에 대해서 알아보겠습니다. 데이터는 기존 라이브러리에서 제공하는 데이터를 바탕으로 진행하도록 하겠습니다. 데이터에 따른 그래프 우선 데이터의 형태에 따라 어떤 종류의 그래프를 사용하는 것이 좋은지 알아보겠습니다. 1차원 데이터 + 실수값, 실수 분포 플롯 -> 커너밀도, 러그, rugplot, kdeplot, distplot 카테고리별 데이터의 양 확인 -> countplot 다차원 데이터 (변수가 여러 개) -> 2차원 실수형 데이터 : ..
[기초] Pandas 라이브러리 정리 (1) / Python 파이썬
·
python/라이브러리
1. 데이터 내용 미리보기 : head(), tail() head()는 데이터의 앞단, tail()은 뒷단을 볼 수 있다. 괄호()안에 숫자를 입력해 해당 숫자만큼의 행을 볼 수 있고, 기본값은 6row까지다. import pandas as pd df = pd.read_csv("~/auto-mpg.csv",header=None) df.head() 18.0 8 307.0 130.0 3504.0 12.0 70 1 chevrolet chevelle malibu 15.0 8 350.0 165.0 3693.0 11.5 70 1 buick skylark 320 18.0 8 318.0 150.0 3436.0 11.0 70 1 plymouth satellite 16.0 8 304.0 150.0 3433.0 12.0 7..
[기초] 파이썬 문자열 개념 정리 / Python 파이썬
·
python/기초
1. 문자열 계산하기 len(str) : 문자열 길이를 반환 max(str), min(str) : 문자열 내 문자의 최소/최대 값 반환 (숫자 오름차순 > 알파벳 오름차순) str.count(finds) : str 문자열 내 finds랑 일치하는 문자열의 개수 반환 2. 특정 문자열 찾기 str.startswith(finds) : str문자열이 finds로 시작하면 True 반환, 아닐시 False 반환 str.endswith(finds) : str 문자열이 finds로 끝나면 True 반환, 아닐시 False 반환 str.find(finds) : str 문자열이 finds이 있는지 앞에서부터 찾아 index 반환, 없으면 -1 반환, 자매품 rfind() str.index(finds) : find()와..
[자료구조] 연결 리스트 Linked-List / Python 파이썬
·
python/자료구조 & 알고리즘
Linked List 연결리스트 배열은 순차적으로 연결된 공간에 연속적으로 데이터를 저장 연결리스트는 떨어진 공간에서도 사용할 수 있다 파이썬에서는 리스트가 연결리스트를 모두 지원 예시 파이썬의 기본 자료구조인 리스트(list) 용어 노드(Node): 데이터의 저장 단위. 데이터와 포인터로 구성 포인터(Pointer): 각 노드 안에서 다음 노드의 주소 정보를 가지고 있는 공간 head: 연결리스트의 맨 앞 노드 tail: 연결리스트의 맨 마지막 노드 장단점 장점 동적으로 메모리 사용 데이터의 재구성 용이 단점 특정 인덱스의 데이터에 접근하기 어려움 즉, 중간 노드의 탐색이 어려움 연결을 위한 포인터와 같은 별도의 공간이 필요함으로 저장 공간 효율이 좋지 않음 배열은 인덱스를 통해 데이터에 접근하므로 시..
[기초] 문자열에서 특정 문자 찾기 / find(), startswith(),endswith() / Python 파이썬
·
python/기초
문자열중에 특정 문자를 찾고싶거나, 특정문자로 시작하는 문자열, 특정문자로 끝이나는 문자열 등 문자를 찾는 방법에대해 알아보겠습니다. find() 문자열중에 특정문자를 찾고 위치를 반환해준다, 없을경우 -1을 리턴 find(찾을문자, 찾기시작할위치) >>> s = '가나다라 마바사아 자차카타 파하' >>> s.find('마') 5 >>> s.find('가') 0 >>> s.find('가',5) -1 startswith() 문자열이 특정문자로 시작하는지 여부를 알려줌, bool 논리형으로 값을 반환한다. startswith(시작하는문자, 시작지점) >>> s = '가나다라 마바사아 자차카타 파하' >>> s.startswith('가') True >>> s.startswith('마') False >>> s...
[자료구조] 스택, 큐, 재귀함수 / Python 파이썬
·
python/자료구조 & 알고리즘
이번 포스트에서는 스택, 큐, 재귀함수에 대해 살펴볼 예정이다. 스택 자료구조 먼저 들어온 데이터가 나중에 나가는 형식(선입후출)의 자료구조이다. 입구와 출구가 동일한 형태로 스택을 시각화할 수 있다. ex) 박스 쌓기, 프링글스 통 구조 (LIFO) 마지막에 있는 데이터가 먼저 처리된다. 스택구조를 이용하는 것은 단순한 리스트 삽입구조를 이용하면된다. (시간 복잡도 O(1), 상수시간) stack = [] stack.append(n) stack.pop(n) print(stack[::-1]) #최상단 원소부터 출력 print(stack) #최하단 원소부터 출력 이미지 출처: awesomeo184.log 큐 자료구조 먼저 들어온 데이터가 먼저 나가는 형식(선입선출)의 자료구조이다. 큐는 입구와 출구가 모두..
[알고리즘] 정렬 알고리즘 / Python 파이썬
·
python/자료구조 & 알고리즘
정렬이란? 섞여 있는 데이터를 순서대로 나열하는 것 정렬 알고리즘은 시간 복잡도에 따라 성능을 좌우되며 성능이 좋을수록 구현 방법이 어려워진다. 대표적인 정렬의 종류 O(n²)의 시간 복잡도 (정렬할 자료의 수가 늘어나면 제곱에 비례해서 증가) 버블 정렬(Bubble Sort) 선택 정렬(Selection Sort) 삽입 정렬(Insertion Sort) O(n log n)의 시간 복잡도 병합 정렬(Merge Sort) 퀵 정렬(Quick Sort) 1. 거품 정렬 (Bubble Sort) 정렬 중에서도 가장 직관적인 정렬 방식이다. 거품 정렬은 인접한 두 수를 비교하고, 가장 큰 값을 뒤로 보낸다. 알고리즘 동작이 각 순회의 가장 큰 요소가 맨 뒤로 이동(Bubble Up) 하는 방식이기 때문에 지어진..
[알고리즘] 8-Puzzle (8 퍼즐) BFS, DFS 구현 / Python 파이썬
·
python/자료구조 & 알고리즘
문제 해결이란? 초기 상태에서 목표상태에 도달하는 과정이다. 8-Puzzle 타일을 1부터 8까지 순서대로 배치하는 게임 • 상태(state): Location of tiles: 8개의 타일의 각각의 위치와 빈칸의 위치 • 동작(action): Move blank Left, Right, up, down: 빈칸으로 왼쪽, 오른쪽, 위, 아래 이동 • 목표 도달 확인(goal test): 주어진 목표상태에 도달하였는지 확인 • 경로 비용(path cost): 한번 action할 때마다 1씩 증가 (경로의 수) 상태공간 그래프 인공지능에서는 최적의 해를 찾기 위해, 각 동작에 따른 상태 변화를 그래프로 나타내어 해결한다. 이러한 문제 해결과정에 있어서 우리는 다음과 같은 탐색 방법을 찾아볼 수 있다. 그래프 ..
[기초] 객체와 클래스 / Python 파이썬
·
python/기초
참고 서적 컴퓨팅 사고를 위한 파이썬 한선관, 김태령 저 | 생능출판사 | 2022년 01월 03일 객체(Object)와 클래스(Class) 클래스는 객체의 기본 틀이 되는 속성이다. 예를 들어서 마커 펜을 생산하는 공장이 있다고 하자, 마커 펜을 만들어내는 공장의 기계를 클래스라고 하고 각각 다른 색 잉크와 다른 색 커버가 있는 각각이 마커펜을 객체라고 할 수 있다. class seal: #클래스 정의 pass stamp = seal() #인스턴스 = 클래스명() 여기서 stamp의 타입을 알아보자. >>> type(stamp) '__main__.seal' 임을 확인할 수 있다. 이 타입은 이 객체가 seal 클래스로부터 만들어진 인스턴스(instance, 클래스의 구조로 만들어진 실체)라는 의미이다...