본문 바로가기

분류 전체보기

(297)
[Python] Array 정렬 (Sorting) 이번 포스팅에서는 Python에서 Numpy Array (배열)에 대해서 정렬을 배워보도록 하겠습니다. import numpy as np 가장 먼저 numpy 패키지는 import 하였습니다. def selection_sort(x): for i in range(len(x)): swap = i + np.argmin(x[i:]) (x[i], x[swap]) = (x[swap], x[i]) return x 우리는 기본적으로 선택 정렬 알고리즘을 Hard Coding하여 구현할 수 있습니다. x = np.array([3,9,7,2,6]) selection_sort(x) array([2, 3, 6, 7, 9]) 실제로 실행 결과를 보시면, Input으로 들어간 배열이 정렬되어 나타나는 것을 확인할 수 있습니다. ..
[Python] Array 만들기 Numpy 패키지를 활용해서 Array를 만드는 다양한 방법에 대해서 알아보겠습니다. import numpy as np import를 활용해서 numpy 패키지를 np라는 이름으로 불러왔습니다. np.zeros(10, dtype = int) array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) zeros 함수는 0으로 채워진 Array를 만드는데 사용됩니다. 인자로는 Array의 사이즈와 채워지는 value의 타입을 지정해줄 수 있습니다. 윗 코드는 정수 0으로 10의 길이를 가지는 배열을 만들라는 의미입니다. np.ones((3,5), dtype = float) array([[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.]..
[Python] Numpy란? Numpy는 Python에서 과학 컴퓨팅을 위한 기본적인 패키지입니다. 다차원 배열개체를, 다양한 파생 개체 (행렬), 수학적, 논리적, 모양 조작, 정렬, 선택을 포함하여 배열 단위로 빠른 작업을 제공해주는 Python 라이브러리입니다. Numpy 패키지의 핵심은 배열 (ndarray)라고 할 수 있습니다. Numpy 배열과 표준 Python에서의 시퀀스 사이에는 몇 가지 중요한 차이점이 있고, 이를 알아두면 Numpy의 매력에 빠지실 수 있습니다!! Numpy 배열은 Python 목록과 달리 생성 시 크기가 고정되어 있습니다. 즉 ndarray의 크기를 변경하면 새 배열이 생성되고 원본은 삭제 됩니다. Numpy 배열의 요소는 모두 동일한 데이터 유형이어야 하므로 메모리에서 동일한 크기가 됩니다. N..
[1일 10용어] NCS 대비 디지털 상식 (11) 1. 앱 카드 신용카드를 온라인이나 모바일 앱에 등록해 바코드, 근접무선통신으로 간편하게 결제할 수 있도록 한 카드 ​ 2. eMMC '내장형 멀티미디어카드'라는 의미로, 데이터를 고속 처리하기 위해 모바일 기기에 내장하는 메모리 반도체 ​ 3. 지오펜싱 지리적과 울타리의 합성어로, 위치정보 솔루션에 바탕을 두고 반경을 설정하여 특정 대상이 범위 안에 있느냐 없느냐를 분석하는 기술 ​ 4. 스낵 컬처 과자를 먹듯 5~10분의 짧은 시간 동안 문화 생활을 즐기는 새로운 문화 트렌드 ​ 5. 프로젝트 룬 열기구 등을 높은 고도에 띄워 인터넷을 이용하지 못하는 오지까지 무선 인터넷을 보급하기 위한 구글의 프로젝트 ​ 6. 손말이음센터 한국정보화진흥원에서 운영하는 기관으로 청각 및 언어장애인의 통신서비스 이용을..
[1일 10용어] NCS 대비 디지털 상식 (10) 1. 화이트 박스 암호 암호화 키에 대한 유추를 방지하기 위해 암호화 키 정보를 소프트웨어로 구현된 암호화 알고리즘에 섞는 방법으로 공격자가 알고리즘 내부 종작을 분석하더라도 암호화 키를 쉽게 유추할 수 없도록 하는 기술 ​ 2. 캄테크 조용하다와 기술의 합성어로, 센서와 컴퓨터, 네트워크 장비 등을 보이지 않게 탑재하여 평소에는 존재를 드러내지 않지만 필요할 때 사용자에게 유용한 서비스를 제공하는 기술 ​ 3. 텔레매틱스 텔레커뮤니케이션과 인포매틱스의 합성어로, 자동차와 무선통신을 결합한 새로운 개념의 차량 무선인터넷 서비스 ​ 4. 뱅크사인 기존의 공인인증서 시스템 대체제로 블록체인 기술을 활용해 전자거래의 보안성과 편의성을 높인 은행권 인증 서비스 ​ 5. 프로그래매틱 바잉 컴퓨터 알고리즘 프로그램..
[Python] 에러 및 디버깅 파이썬에서는 코드에 문제가 있는 경우 에러를 출력합니다. 해당 에러에 대해 탐색하는 과정을 디버깅이라고 말합니다. 한 번 에러가 나는 코드를 만들어 보겠습니다. def division(a,b): return a / b def custom_function(x): return division(x, x-1) division은 a와 b를 인자로 받아서, a에서 b를 나눈 값을 반환합니다. custom_function은 x를 인자로 받아서, x에서 x-1을 나눈 값을 반환합니다. 만약 여기서 x = 1 을 대입하게 된다면 어떻게 될까요? 수학적으로 분모는 0이 되면 안되기 때문에, 아마 오류가 나야 할 것입니다. custom_function(1) -------------------------------------..
[Python] 코드 실행 시간 측정 %%timeit 위 문구를 사용하면 해당 코드에 대한 시간을 자동으로 측정할 수 있다. 예시로 for 문 loop와 list comprehension의 성능 차이를 관찰해보도록 하겠다. %%timeit L = [n ** 2 for n in range(10000)] timeit 를 코드 블록 가장 앞에 추가해주고 아래에 실행 시킬 코드를 입력해주면 된다. 해당 코드를 설명하자면 0부터 9999 까지 제곱 수를 list 안의 원소로 포함시키는 코드이다. 2.07 ms ± 6.07 µs per loop (mean ± std. dev. of 7 runs, 100 loops each) 실행 결과를 보면 100개의 loop를 도는데 2.07 ms 의 시간이 소모된다. 이번에는 for 문 loop를 활용해서 빈 리스..
[Python 시각화] Line Graph (선 그래프) 안녕하세요. 이번 포스팅에서는 Python에서 Line Graph (선 그래프) 을 그리는 방법에 대해서 배워보도록 하겠습니다. (1) 패키지 불러오기 사용할 패키지는 matplotlib과 seaborn 입니다. import numpy as np import matplotlib.pyplot as plt import seaborn as sns (2) 데이터 불러오기 Box plot을 그리는 데 활용할 실습 데이터는 Sin 함수와 Cos 함수 입니다. 각각의 함수를 만들어보도록 하겠습니다. x의 범위는 -pi 부터 pi 까지입니다. x = np.linspace(-np.pi, np.pi, num = 100) sin = np.sin(x) cos = np.cos(x) (3) 시각화 그래프 배경 스타일 설정 흰색 ..