pandas_tutorial-1 Pandas tutorial 1 - 데이터 만들기부터 조회까지¶ tidy data란¶데이터 분석을 위해선 정돈된 형태의 데이터를 구축해 놓는 것이 필수적이죠. 타이디(tidy, 깔끔한) 데이터는 작업하기 매우 용이한, 정형화된 형태의 데이터로, 다음을 만족해야 합니다. 각 관측값마다 해당되는 행이 있어야하고, 각 변수마다 해당되는 열이 있어야하고, 값마다 해당하는 하나의 셀이 있어야 합니다. 일반적으로 엑셀에 데이터를 입력하는 방식과 동일하다고 생각하시면 됩니다. 예를 들어, 어떤 학급에서 학생들이 시험을 치루었고, 그 성적을 입력한다고 합시다. 각 열은 해당 학급에 속하는 학생의 번호, 이름, 국어점수, 수학점수, 영어점수를 의미하고, 각 행은 한명의 학생에 대한 관측값..
Numpy는 과학 계산을 위해 반드시 필요한 패키지입니다. 다차원 배열을 위한 기능과 선형 대수 연산, 수학 함수, 유사 난수 생성기를 포함합니다. 핵심 기능은 다차원 배열인 ndarray 클래스로, 이 배열의 모든 원소는 동일한 데이터 타입이어야 합니다. 1. 배열 만들기 numpy 배열은 리스트로 구현합니다. import numpy as np a = np.array([1, 2, 3]) b = np.array([[1.5, 2, 3], [4, 5, 6]]) print(a) print(b) [1 2 3] [[1.5 2. 3. ] [4. 5. 6. ]] np.zeros([행의 수, 열의 수]) np.zeros([3, 4]) # 영행렬 생성 array([[0., 0., 0., 0.], [0., 0., 0., ..

스택(Stack) 데이터가 입력되면 입력되는 순서대로 쌓고, 나중에 들어온 것부터 먼저 사용하는 자료구조입니다. 스택 형태의 데이터 구조를 LIFO(Last-In-First-Out)형이라고 하며, 스택에 데이터를 넣는 것을 'PUSH', 데이터를 꺼내는 것을 'POP'이라고 합니다. 파이썬에서는 리스트를 사용해 스택을 구현할 수 있습니다. 초기화하기 원소 삽입 : append(x) 원소 제거 : pop() pop()은 마지막 원소를 리턴하고 제거합니다. top 가져오기 인덱스 -1은 가장 마지막에 삽입된 원소를 가리킵니다. 큐(Deque) 데이터가 입력되면 입력되는 순서대로 쌓고, 먼저 들어온 것부터 먼저 사용하는 자료구조입니다. 이를 FIFO(First-In-First-Out), 선입선출이라고 합니다...

파이썬은 딕셔너리(Dictionary) 형태로 해시 자료구조를 제공합니다. 딕셔너리는 dict 클래스로 구현되어 있습니다. 해시는 1. 인덱스 값이 숫자가 아니라 문자열, 튜플 등 다른 값이어서 리스트를 쓸 수 없을 때 2. 빠른 접근/탐색이 필요할 때 : 함수 대부분의 시간 복잡도가 O(1)로 아주 빠릅니다. 3. 집계를 할 때 : collections 모듈의 Counter 클래스는 각 원소가 몇 개 있는지 셀 때 매우 유용하게 쓰입니다. 딕셔너리 선언하기 { } 기호를 사용하거나 dict 함수를 호출하여 빈 딕셔너리를 선언합니다. 또한 key-value 쌍을 가진 딕셔너리를 선언할 수도 있습니다. 딕셔너리로부터 원소 얻기 딕셔너리의 원소를 가져올 때는 1. [] 기호 사용 2. get 메소드 사용 :..

힙(Heap) - 트리 자료구조의 응용 이진 트리의 일종으로, 여러 개의 값 중에서 가장 큰 값이나 가장 작은 값을 빠르게 찾을 수 있도록 구성된 자료구조입니다. 힙은 배열을 사용하여 구현합니다. + 트리(Tree)란? 임의의 노드에서 다른 노드로의 경로가 하나 밖에 없는 구조로, 노드 중에서 단 하나의 루트 노드(Root Node)가 있고, 루트 노드에서 하위 노드(Sub Node)들이 연결된 비선형 계층 구조입니다. 트리 구조 중 다음 데이터를 가리키는 것이 2개인 단방향 트리 구조는 이진 트리 구조라고 합니다. 트리 자료구조의 구현은 배열이나 연결 리스트를 사용합니다. 힙의 종류 최소 힙(Min Heap) : 부모 노드의 값이 항상 하위 노드의 값보다 작은 경우 최대 힙(Max Heap) : 부모 ..
최근 파이썬이 개발뿐만 아니라 데이터 분석에도 점점 많이 쓰이고 있다고 하여(또륵...) 파이썬 공부를 시작하려고 합니다. 데이터가 방대해지면서 속도가 느린 R로는 해결이 되지 않는 부분이 생긴다고 하네요. 다년간 R을 사용한 사람으로서 개탄하지 않을 수 없는 소식입니다.. 하지만 저는 앞으로 고용시장에 던져질 예비노동자이기 때문에 배움에 정진하는데 흔들림이 없어야겠죠....ㅎㅋ 데이터 분석에 앞서 분석할 자료를 살펴보는 탐색적 자료 분석(Exploratory Data Analysis)은 반드시 필요합니다. 단순회귀분석을 하고 싶은데 데이터가 어떻게 생겼는지 살펴보지도 않고 종속변수에 문자형 변수를 넣어버리면 ㅎ 곤란합니다. 파이썬에서 기본적으로 다루는 자료형으로는 숫자형, 문자열, 리스트, 튜플, 딕셔..