데이터 분석 과제를 진행하면서, 모듈을 불러오던 중 의문점이 하나 들었다. numpy와 pandas의 모듈은 서로 상호작용이 가능하기에 차이점을 잘 느끼지 못한다. 매번 자연스럽게 import 하지만 둘의 차이점은 무엇일까? 우선, Numpy는 행렬 형태의 데이터 구조로 각 값들은 숫자로 구성되고 행렬 연산을 위한 구조입니다. Pandas의 시리즈, 데이프레임은 엑셀 또는 스프레드시트 바둑판 처럼 행과 열로 이루어진 데이터를 저장합니다. 위의 개념들을 토대로 차이점을 찾아본 결과, 결정적으로 기반이 다릅니다. Numpy는 같은 데이터 타입의 다차원 배열이고, array기반으로 nd arrary를 처리하는데 최적화되어있고 c기반으로 개발되어있는 라이브러리고 Pandas는 다른 데이터타입을 담을 수 있는 테..
1. 합병 정렬 하나의 큰 문제를 두 개의 작은 문제로 분할한 뒤에 각자 계산하고 나중에 합치는 알고리즘이다. 분할 정복 알고리즘의 하나이며, 분할 정복 알고리즘은 문제를 작은 2개의 문제로 분리하고 각각을 해결한 다음, 결과를 모아서 원래의 문제를 해결하는 전략이다. 합병 정렬 구현 Python def mergesort(array): if len(array) 0 or len(right) > 0: if len(left) > 0 and len(right) > 0: if left[0] 0: result.append(left[0]) left = left[1:] elif len(right) > 0: result.append(right[0]) right = right[1:] return result 분할(Divi..
정렬 이란 데이터를 특정한 기준에 따라서 순서대로 나열하는 것을 말한다. 정렬 알고리즘의 예시로는 선택, 버블, 삽입, 병합, 퀵 정렬 등이 있다. 1. 선택 정렬 데이터가 무작위로 여러 개 있을 때, 이 중에서 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸고, 그 다음 작은 데이터를 선택해 앞에서 두 번째 데이터와 바꾸는 과정을 하는 것으로 매번 가장 작은 것을 선택하는 알고리즘이다. 하나씩 정밀 비교가 가능하며, 정렬을 위한 비교 횟수는 많으나 교환 횟수는 상당히 적다. 따라서 교환이 많이 일어나는 문제에 효율적인 적용을 할 수 있다. 가장 적합한 문제는 역순 정렬이다. 하지만, 그만큼 자료 수 가 많은 문제에 대해서는 정밀 비교를 하게 되므로 속도가 떨어지는 단점이 있다. 선택 정렬 구현 ..
탐색이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 의미한다. 대표적인 탐색 알고리즘으로 DFS와 BFS가 있다. 두 알고리즘을 알아보기 전 그래프의 기본 구조를 알아야한다. 그래프는 노드와 간선으로 표현되며 이때 노드를 정점이라고도 한다. 그래프 탐색이란 하나의 노드를 시작으로 다수의 노드를 방문하는 것을 말한다. 또한 두 노드가 간선으로 연결되어 있다면 ' 두 노드는 인접한다' 라고 표현한다. 1. 깊이 우선 탐색 (DFS, Depth-First Search) : 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다. 아래의 그림과 같이 루트 노드 혹은 다른 임의의 노드에서 다음 분기로 넘어가기전에 해당 분기를 완벽하게 탐색하는 방법이다. DFS의 특징은 다음과 같다. 모든 노드를 방문하..
HELLO WORLD
안녕하세요. 데이터로 말하는 분석가 모모입니다.
데이터를 구조화하고 분석하는 과정과 실무에 활용되는 도구 중심의 내용을 기록합니다.