분류 전체보기

    Pandas 활용(2) - 데이터프레임의 Indexing, Slicing

    In [1]: from IPython.display import display, HTML display(HTML("")) # 코드 입력창의 너비를 조정하는 코드입니다. 판다스 데이터프레임의 Indexing, Slicing¶ 데이터프레임에서, 원하는 데이터를 access 하는 방법 3가지¶ 컬럼의 데이터를 가져오는 방법 => 변수명 바로 오른쪽에 대괄호 사용 .loc[ , ]로 가져오는 방법 .iloc[ , ]로 가져오는 방법 아래 예제들을 통해 하나씩 알아보자. In [2]: import pandas as pd In [3]: items2 = [{'bikes': 20, 'pants': 30, 'watches': 35}, {'watches': 10, ..

    Pandas 활용 (1) - Series/DataFrame 생성, read_csv, to_csv

    In [1]: from IPython.display import display, HTML display(HTML("")) # 코드 입력창의 너비를 조정하는 코드입니다. Pandas의 특징¶ 파이썬 언어로 제작된 데이터 조작과 분석을 위한 라이브러리. 기본적인 통계데이터 제공. NaN values를 알아서 처리한다. 데이터셋들을 merge 할 수 있다. Panas Series¶ 판다스의 1차원 데이터를 시리즈라고 부른다 In [2]: # pandas 라이브러리 임포트 import pandas as pd In [3]: data = [30, 6, 'Yes', 'No'] In [4]: # 시리즈를 만든다 x = pd.Series(data= data) In [5]: x Out[5]: 0 30 1 6 2 Yes 3..

    Numpy의 연산 - 브로드캐스팅(Broadcasting)

    In [1]: from IPython.display import display, HTML display(HTML("")) # 코드 입력창의 너비를 조정하는 코드입니다. 넘파이의 Broadcasting¶ 넘파이에는 브로드캐스팅이란 기능이 있는데 조건을 만족하는 배열끼리 짝을 맞춰 연산하는 기능이다. 1. 원소가 하나인 경우, 어떤 배열이나 브로드캐스팅이 가능 2. 하나의 배열이 1차원 배열인 경우, 브로드캐스팅이 가능 3. 서로 모양이 같은 경우, 브로드 캐스팅이 가능 4. 차원의 짝이 맞을 때, 브로드 캐스팅이 가능 ex) arr1.shape = (3, 1) arr2.shape = (1, 3) 일 때, 연산결과는 (3, 3) 1차원 배열 연산¶ In [2]: import numpy as np In [3]..

    Numpy Boolean 조건문으로 배열 인덱싱(Boolean Indexing)

    In [1]: from IPython.display import display, HTML display(HTML("")) # 코드 셀의 너비를 조정하는 코드입니다. 신경쓰지 마세요 넘파이의 Boolean indexing¶ In [3]: import numpy as np In [4]: X = np.array([[13, 22, 49, 42, 80], [91, 63, 58, 20, 34], [60, 40, 16, 37, 66], [ 2, 44, 16, 87, 84]]) In [9]: # 80보다 큰 데이터는 몇개인가? In [6]: X > 80 Out[6]: array([[False, False, False, False, False], [ True, False, False, False, False], [Fal..

    Numpy ndarray의 데이터 accessing, slicing

    In [1]: from IPython.display import display, HTML display(HTML("")) # 코드 셀의 너비를 조정하는 코드입니다. 신경쓰지 마세요 ndarray의 데이터에 access 하기¶ 1차원 배열의 인덱스 접근¶ In [2]: import numpy as np In [3]: np.random.seed(23) In [4]: x = np.random.randint(0, 100, 10) In [5]: x Out[5]: array([83, 40, 73, 54, 31, 76, 91, 39, 90, 25]) In [6]: x[3] Out[6]: 54 In [7]: x[-1] Out[7]: 25 다차원배열의 인덱스 접근¶ In [8]: X = np.array([[13, 22,..

    Numpy의 축(axis) 연산

    import numpy as np X = np.array([[13, 22, 49, 42, 80], [91, 63, 58, 20, 34], [60, 40, 16, 37, 66], [ 2, 44, 16, 87, 84]]) numpy의 sum, mean, std, max, min, median 등의 함수는 알아서 배열 전체에 대해 계산을 해준다. # 합 X.sum() >>> 91 # 평균 X.mean() >>> 46.2 # 표준편차 X.std() >>> 26.173650872585583 # 최대값 X.max() >>> 91 # 최소값 X.min() >>> 2​ # 중앙값 np.median(X) >>> 43.0 전체가 아닌 행 별로, 혹은 열 별로 계산하는 법 axis 파라미터를 사용하면 축끼리 계산할 수 있는..

    Numpy의 난수 배열 생성 random, randint

    numpy.random.random(shape) 아래에서 보듯, 파이썬에 기본 내장되어있는 random 모듈은 한번 실행에 하나의 난수밖에 만들지 못한다. 하지만 넘파이에 있는 random은 파라미터에 shape 값을 주는 것으로 난수(0에서 1사이)로 이루어진 배열을 만들 수 있다. numpy.random.randint( start, end, shape ) start와 end 사이의 정수로 이루어진(end는 포함하지 않음) 정수의 배열을 만든다.

    Numpy의 배열 생성 arange, linspace, reshape

    numpy.arange(start, end+1, step) 시작값(start)부터 끝값(end)까지의 정수형의 배열을 생성한다. step의 기본값은 1이다. numpy.linspace(start, end, n) start부터 end까지를 균일한 간격으로 나눠 n개의 실수형 원소를 가진 배열을 생성한다. 파라미터로 endpoint=False를 주면 end 값을 포함하지 않는다. numpy.reshape(shape) 입력한 shape의 형태로 기존의 배열을 변경한다. 원소의 갯수가 맞지 않으면 에러가 발생한다. 1차원을 2차원으로 2차원을 1차원으로 주의할 점으로, X를 1행 10열로 만든다면 X는 1차원 벡터가 아니라 2차원 행렬이다. 여러 단계를 거치지 않고, 한번에 원하는 다차원 배열로 만들 수도 있다.