Python과 머신러닝(62)
-
[Python.NumPy] Array sort/min/max 함수 (argsort, np.argmax, np.argmin)
0. 요약 배열의 값들을 오름차순/내림차순으로 정렬하는 방법을 알아보자. 그리고 배열의 최대 최소 값을 어떻게 추출할지, 또 row/col 별 최대 최소값은 어떻게 추출할 수 있는지 알아보자. 1. argsort In [1]:import numpy as np In [2]:a = np.array([4,2,1,7]) a Out[2]:array([4, 2, 1, 7]) In [3]:sort_index = a.argsort() # 오름차순 기준 index 순서를 반환 sort_index Out[3]:array([2, 1, 0, 3], dtype=int64) In [4]:a[sort_index] #fancy indexing으로 순서대로 추출 Out[4]:array([1, 2, 4, 7]) In [5]:sort_i..
2020.12.12 -
[Python.NumPy] Array 비교 연산자와 논리 연산자
0. 요약 일반 scalar 값의 대소 비교를 하듯 Array에도 대소 비교가 필요하다. NumPy에는 대소비교 뿐만 아니라, 논리 연산 (AND/OR)을 지원하는 함수들을 제공한다. np.logical_and, np.logical_or, np.where, np.all, np.any, np.isnan, np.isfinite과 같이 다양한 함수들의 용법과, 각 함수가 반환하는 데이터에 대해서 이해해보자. 1. Array와 Array의 비교 In [1]:import numpy as np In [2]:test_a = np.array([1,3,0], float) test_a Out[2]:array([1., 3., 0.]) In [3]:test_b = np.array([5,2,1], float) test_b Ou..
2020.12.11 -
[Python.NumPy] Array 간의 연산과 Broadcasting
0. 요약 Array 간의 연산을 수행할 때, 두 Array의 크기가 같은 경우에는 어떻게 연산이 될까? 그렇다면 크기가 다를 경우에는 어떻게 될까? Array에 Scalar값이나 vector를 더하려고 해도 정상적으로 수행될까? 그렇다면 어떤 결과가 나올까? 이를 이해하기 위해서는 Broadcasting이라는 개념을 이해해야 하는데, 자세히 하나씩 정리해보자. 1. Array와 Array 간의 연산 In [1]:import numpy as np In [2]:test_a = np.array([[1,2,3], [4,5,6]], float) test_a Out[2]:array([[1., 2., 3.], [4., 5., 6.]]) In [3]:test_a + test_a Out[3]:array([[ 2., 4..
2020.12.10 -
[Python.NumPy] array 붙이기 hstack, vstack, concatenate - Operation Function II
0. 요약 여러 소스로부터 데이터를 받고 나면 이를 합치는 동작이 필요하다. 데이터를 입력받아 배열로 만들었다는 가정 하에, hstack/vstack과 concatenate 함수를 통해서 배열을 연결하는 동작을 배워보자. 1. hstack과 vstack In [1]:a = np.arange(1,4) a Out[1]:array([1, 2, 3]) In [2]:b = np.arange(4,7) b Out[2]:array([4, 5, 6]) In [3]:np.hstack((a,b)) Out[3]:array([1, 2, 3, 4, 5, 6]) In [4]:np.vstack((a,b)) Out[4]:array([[1, 2, 3], [4, 5, 6]]) hstack은 horizontal stack의 약자로 두 개의..
2020.12.09 -
[Python.NumPy] 차원별 sum 합, std 표준편차 구하기 - Operation Function I
0. 요약 여태까지는 주로 2차원 배열을 사용했지만, 실제 데이터는 3차원 이상의 데이터도 많다. 2차원 데이터의 합/평균 등을 구하는 방법을 이해해보자. 그리고 3차원 이상의 데이터가 되면 차원이 어떻게 변하는지 이해하고, 각 차원의 합을 구하는 방법도 정리해보자. 1. 2차원 배열에서 sum 함수 사용하기 In [1]:import numpy as np In [2]:test_array = np.arange(1,13).reshape(3,4) test_array Out[2]:array([[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]]) In [3]:test_array.sum() Out[3]:78 1~12까지의 값을 갖는 test_array를 생성한다. 대부분의 라이브러..
2020.12.08 -
[Python.NumPy] 정규분포, 균등분포 데이터 만들기 np.random.normal, uniform - Creation Function IV
0. 요약 NumPy에서 Random sampling을 쉽게 하는 함수들을 제공하고, 원하는 분포에 따라 값을 다르게 반환해준다. np.random.uniform 함수와 np.random.normal 함수를 공부해보자. Creation Function에 대해서는 지난 포스트들에서 설명을 했기 때문에 바로 random sampling으로 내용을 정리했다. 2020/12/04 - [Python과 머신러닝/Python 데이터 수집] - NumPy arange/zeros/empty 함수의 차이 - Creation Function I 2020/12/05 - [Python과 머신러닝/Python 데이터 수집] - NumPy ones_like, zeros_like, empty_like 함수 - Creation Fun..
2020.12.07