본문 바로가기

전체 글

(19)
[Geo Data] 서울대학교·LH 도시 데이터분석 학교 1일차 - 데이터 분석 기본 라이브러리 numpy, pandas에 대해 살펴봄. 1. 기본 라이브러리 학습 1.1. numpy numpy는 array(배열) 프로그래밍을 지원하는 패키지이며, 속도가 느리고 메모리를 많이 차지하는 list에 비해 빠른 연산속도를 자랑한다. numpy는 벡터, 행렬 등을 지원하여 선형대수 계산에 주로 사용되며, 이는 많은 머신러닝 패키지 (scikit-learn 등), 딥러닝 패키지 (tensorflow 등)의 근간이 된다. numpy array의 이해 import numpy as np # numpy array는 np.array를 통해 만들 수 있다. a = np.array([1,2,3,4]) print(a) print(type(a)) print(len(a)) print(a.sha..
[Data Structure] Heaps 힙이란? 힙은 기본적으로 완전 이진트리(complete Binary Tree)를 기본으로 한 자료 구조이며, 부모 노드와 자식 노드 간의 대소관계가 성립하는 자료구조이다. Heap (힙): 상위 노드의 값이 하위노드(들)의 값과 관련하여 특정 방식으로 정렬되는 트리 기반 데이터 구조이다. 힙은 최소 힙(부모 노드의 값이 자식의 값보다 작거나 같음) 또는 최대 힙(부모 노드의 값이 자식의 값보다 크거나 같음) 일 수 있다. 최소 힙의 목적은 부분 순서가 있는 객체를 저장하는 것이다. 최소 힙에서 최소 객체를 제거하는 빠른(O(log n)) 방법이 있다. 최소 힙은 최소 계산이 여러 개 있는 계산에 유용하다. 힙에서 최댓값을 추출하는 최대 힙이라는 유사한 구조가 있다. 힙은 최대 힙 이거나 최소 힙이고, 동..
[Data Structure] 자료구조란? 자료구조(Data Structure)는 컴퓨터 분야에서 여러 가지 문자, 숫자와 같은 자료들을 체계적으로 정리하고 구조화하는 방법을 배우는 이론이다. 자료구조는 컴퓨터 분야를 공부하는 사람이라면 필수적으로 알아야 하는 기초 상식이다. 우리는 컴퓨터를 가지고 현실의 문제를 해결한다. 하지만 컴퓨터와 현실 사이에는 표현하는 방법의 차이가 있다. 우리는 10진법을 사용하지만 컴퓨터는 2진법을 사용한다. 우리는 종이와 펜으로 계산을 하지만 컴퓨터는 전기의 켜짐과 꺼짐으로 데이터를 인식한다. 마찬가지로 자료를 다루는 방법에서도 컴퓨터와 현실에서는 차이를 보인다. 이 현실에서의 데이터를 컴퓨터에서 구조화하고 그 구조 안에서 데이터를 효율적으로 처리하고 각 구조의 효율성을 측정하는 것이 자료구조를 목표이다. 자료구조..
[Python] Linked List vs. Array Array : Array는 연속된 메모리 위치에 요소를 저장하므로, 저장된 요소들의 주소를 쉽게 계산할 수 있으며, 이를 통해 특정 인덱스에 있는 요소에 더 빠르게 접근할 수 있다. Linked List : Linked lists는 저장 구조에 덜 엄격하며(rigid) 요소는 보통 연속된 위치에 저장되지 않으므로 다음 요소를 참조 할 수 있는 추가 태그와 함께 저장해야 한다. Linked-List 표현 Array와 Linked-List 사이의 주된 차이점 Array Linked List 연속된 위치에 저장된다. 연속된 위치에 저장되지 않는다. 크기가 고정된다. 크기가 동적이다. 메모리는 컴파일 시 할당된다. 메모리는 실행시간에 할당된다. Linked List보다 메모리를 적게 사용한다. 데이터와 다음 노..
[Data Structure] 데이터 표현 방법 (Data representation) 컴퓨터에서의 데이터 표현 방법 (Data representation in computer) 컴퓨터는 기본적으로 0과 1을 통해 데이터를 표현한다. 문자, 숫자는 모두 0과 1로 표현되며 특정 규칙을 통해 해석을 할 때 그 의미를 갖는다. 예를 들어, 컴퓨터 과학에서 offset이라는 단어는 기준이 되는 주소에서 해당 주소가 얼마나 떨어져 있는지에 대한 변위차를 가리키는 단어이지만, 일반적인 영어에서는 '상쇄하다'라는 뜻으로 사용된다. 여기서 특정 규칙은 컴퓨터 과학에서 단어의 의미와 일반적인 영어에서의 의미이다. 0과 1을 나타내는 기준 단위는 비트(bit)이다. 이 비트들이 4개가 되면 니블(nibble)이 되고, 8개가 되면 바이트(byte)가 된다. 존 형식과 팩 형식 (Zone Decimal Fo..
[Python] Basic Syntax (기본 문법) 파이썬의 문법은 파이썬 프로그램을 작성할 때 사용하는 규칙 집합을 의미한다. 파이썬 프로그래밍 언어 문법은 펄(Perl), C 그리고 자바 프로그래밍 언어와 많이 유사하다. 그러나, 프로그래밍 언어들 사이에 명확한 차이가 존재한다. 첫 파이썬 프로그램 파이썬 "Hello, World!" 프로그램을 다양한 프로그래밍 모드로 실행해 보겠다. 파이썬 - 대화형 모드 프로그래밍 다음과 같이 명령 프롬프트에 파이썬을 입력해서 파이썬 인터프리터(interpreter)를 호출할 수 있다. Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 새로운 크로스 플랫폼 PowerShell 사용 https://aka.ms/pscore6 PS ..
[Python] Python Developer RoadMap 시작 https://roadmap.sh/python Learn to become a modern Python developer Community driven, articles, resources, guides, interview questions, quizzes for python development. Learn to become a modern Python developer by following the steps, skills, resources and guides listed in this roadmap. roadmap.sh
[Python] 파이썬 UUID 생성 1. UUID 란? 네트워크 상에서 고유성이 보장되는 id를 만들기 위한 표준 규약 UUID는 Universally Unique IDentifier의 약어이고 범용 고유 식별자 UUID는 128비트 숫자이고, 32자리의 16진수로 표현됨 2. 종류 UUID버전은 1, 3, 4, 5가 있다. 이 중에서 가장 많이 쓰는 버전은 1버전, 4버전이다. 1버전은 타임스탬프 기준으로 생성, 4버전은 랜덤생성 (무작위 UUID 생성)이다. 파이썬에서는 uuid를 import 해서 사용할 수 있다. import uuid url = 'https://blanc28logi.tistory.com/' print(uuid.uuid1()) print(uuid.uuid3(uuid.NAMESPACE_URL, url)) print(uu..