본문 바로가기

728x90
반응형

Study

(73)
[Numpy] Numpy 개요 및 행렬 데이터 만들기 Numpy는 C로 구현된 파이썬 라이브러리로써, 고성능의 수치계산을 위해 제작되었다. Numerical Python의 줄임말이기도 한 Numpy는 벡터 및 행렬 연산에 있어서 매우 편리한 기능을 제공한다. 또한 이는 데이터분석을 할 때 사용되는 라이브러리인 pandas와 matplotlib의 기반으로 사용한다. (참고로, pandas는 numpy를 기반으로 만들어진 라이브러리라고 한다.) numpy에서는 기본적으로 array라는 단위로 데이터를 관리하며 이에 대해 연산을 수행한다. Numpy 데이터는 행열로 표현 행열 데이터 빠르게 계산을 해야함 행열 데이터 생성, 수정, 계산 등을 빠르게 처리해주는 패키지 특징 C, C++, 포트란로 작성 선형대수학을 빠르게 연산 스칼라, 벡터, 매트릭스 [ 목차 ] ..
[python] 이진탐색트리 검사 프로그램 임의의 이진트리에 대해 이진탐색트리인지 확인하는 검사 프로그램을 작성해 보자. class Tree: def __init__(self, data): self.data = data self.left = None self.right = None # Tree 객체의 값을 보기 위한 Magic Method def __str__(self): return str(self.data) def isBST(root, left = None, right = None): if (root == None) : return True # left node에 데이터가 있는지 확인 && left node가 root node 보다 작은지 확인 if (left != None and root.data = right.data): return Fa..
[python] map(), filter(), reduce() 구현 이전 포스팅에서 map()에 대해 간략히 포스팅한 적이 있다. map() 뿐만 아니라 Filter() 에 대한 설명도 같이 있으니, 동작원리에 대해 알고 싶다면 아래 링크를 참고하길 바랍니다. https://ssanggo.tistory.com/63 [python] Map(), Filter() map() : 반복가능한 iterable 객체를 받아서, 각 요소에 함수를 적용해 주는 함수 filter() : 특정 조건으로 걸러서 걸러진 요소들로 iterator 객체를 만들어서 리턴해주는 함수 [ Map()와 Filter() 작동원리 ] ssanggo.tistory.com Quiz 1 map()를 map_func 함수의 이름으로 구현하세요. 리스트의 데이터를 아래의 예제와 같이 더하는 함수를 만드는데 따로 함수..
[python] Decolator - ① Decolator : 함수를 받아 명령을 추가한 뒤 이를 다시 함수의 형태로 반환하는 함수 함수의 내부를 수정하지 않고 기능에 변화를 주고 싶을 때 사용하며, 일반적으로 함수의 전처리나 후처리에 대한 필요가 있을 때 사용을 한다. 또한, Decolator를 이용하여 반복을 줄일 수 있다. 예를 들어 아래와 같은 함수가 정의되어 있다고 가정을 하자. def plus(a, b): print("start") # code 1 result = a + b # code 2 print(f"result : {result}") # code 3 return result def minus(a, b): print("start") # code 1 result = a - b # code 4 print(f"result : {resu..
[python] Map(), Filter(), reduce() ○ map() : 반복가능한 iterable 객체를 받아서, 각 요소에 함수를 적용해 주는 함수 ○ filter() : 특정 조건으로 걸러서 걸러진 요소들로 iterator 객체를 만들어서 리턴해주는 함수 ○ reduce() : 리스트 데이터를 처음부터 순서대로 특정 함수를 실행하여 결과를 누적시켜 주는 함수 → "from functools import reduce" 해야 사용이 가능하다. [ Map()와 Filter() 작동원리 ] def odd_even(num): return "odd" if num % 2 else "even" ls = [1,2,3,4,5] print(list(map(odd_even, ls))) # 출력결과 ['odd', 'even', 'odd', 'even', 'odd'] def o..
[python] 함수 default 파라미터 함수 default 파라미터는 파라미터에 값을 지정해 줌으로써 만들 수 있다. 아래와 같이 plus 라는 함수를 정의를 하고, num1, num2를 함수 파라미터로 설정을 한 뒤, num2 = 10으로 설정하였다. def plus(num1, num2 = 10): return num1 + num2 [예시1] plus(3) 13 예시 1번에서는 plus(3) 을 출력하게 되면, num1 = 3이 입력되고, num2 는 default 값인 10이 들어가게 되어 13이 출력된다. [예시2] plus(3,5) 8 예시 2번에서는 plus(3, 5) 을 출력하게 되면, num1 = 3이 입력되고, num2 = 5 가 입력되어 8이 출력된다.
[python] 컴프리핸션(comprehension) 속도 비교 파이썬을 사용할 때 컴프리핸션을 이용하면 for문을 이용하는 것보다 좀 더 간결하게 코드를 작성할 수 있는 장점이 있다. 그런데, 코드의 간결화에 더불어 똑같은 코드를 동작시킬 때, 컴프리핸션이 for문 보다 대략적으로 2/3의 속도가 더 빠르다. 아래 예시를 보자. 아래 코드의 속도를 주피터에서 %%timeit 을 통해 셀 안의 코드 동작속도를 측정할 수가 있다. ls = [] for num in range(1, 10001): ls.append(num) len(ls) 더보기 540 µs ± 2.77 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each) 다음은 컴프리핸션으로 코드를 작성하고 속도를 측정해 보았다. ls = [num for num in ra..
[python] 구구단 프로그램(for문) 이중 for문을 통해 구구단 프로그램을 작성해 보자. for i in range(2, 10): for j in range(1, 10): print("{}*{}={}".format(i,j,i*j), end="\t") print()

728x90
반응형