Programming/Numpy

Programming/Numpy

[numpy][pandas] np.histogram()으로 도수분포표 만들기

중학교 수학시간에 배운 도수분포표! 도수분포표는 단변수 데이터의 데이터 분포상태를 도표로 확인할 수 있는 표이다. 예를 들어 영어성적 분포를 도수분포표로 나타낸다고 하면 다음과 같이 나타낼 수 있다. 구간 명 0~20점 2 21~40점 3 41~60점 7 61~80점 8 81~100점 5 용어 도수분포표에서 사용되는 용어는 다음과 같다. 각 구간(0~20, 21~40...) : class (계급) 각 계급에 속한 학생 수 : frequency (도수) 구간의 폭(20점) : class interval 구간의 개수 : 계급수 구간의 중위값, 계급을 값으로 표현 : class mark (계급값) 전체데이터에 대해서 해당 클래스의 도수의 비율 : relative frequency (상대도수) 해당 클래스까지 ..

Programming/Numpy

[numpy] ndarray의 indexing과 slicing

indexing의 방법은 기본적으로 python list와 동일하다. 2차원 이상의 배열에서는 훨씬 편리하게 슬라이싱을 할 수 있다. arr = np.arange(0, 25).reshape(5, 5) print("arr:\n",arr) print("1 :\n", arr[1:4, 1:4]) print("2 :\n", arr[1:3]) print("3 :\n", arr[:, [0]]) print("4 :\n", arr[1]) print("4-1 :\n", arr[1, :]) arr: [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14] [15 16 17 18 19] [20 21 22 23 24]] 1 : [[ 6 7 8] [11 12 13] [16 17 18]] 2 : [[ 5 6 ..

Programming/Numpy

[numpy] ndarray의 shape과 관련된 함수들

reshape() revel() resize() reshape() ndarray의 차원과 크키 변경 arr = np.arange(10) print(arr) arr2 = arr.reshape(2, 5) print(arr2) arr3 = arr.reshape(5, -1) print(arr3) # arr [0 1 2 3 4 5 6 7 8 9] # arr2 [[0 1 2 3 4] [5 6 7 8 9]] # arr3 [[0 1] [2 3] [4 5] [6 7] [8 9]] -1을 인자로 사용하면 원래 배열과 호환되는 새로운 shape으로 변환해 주며, 지정된 사이즈로 변경이 불가능하면 error가 나타난다. (= 요소의 수가 맞지 않으면 view가 생성되지 않는다.) arr4 = arr.reshape(4, -1)..

Programming/Numpy

[numpy] ndarray를 생성하는 여러가지 방법 2 - random

ndarray를 생성할 때 random을 이용하면 난수로 값을 채우며 생성할 수 있다. np.random.normal np.random.rand np.random.randn np.random.radint np.random.random np.random.normal(mean, std, shape) 정규분포에서 실수 표본을 추출하여 생성 mean = 0 std = 1 # 표준정규분포 arr = np.random.normal(mean, std, (1000000,)) print(arr) # 정규분포에 진짜로 따르는지 확인 plt.hist(arr, bins=100) plt.show() [ 0.80853868 -0.27112114 1.74376676 ... 0.65221723 0.74973141 0.03062562..

Programming/Numpy

[numpy] ndarray를 생성하는 여러가지 방법 1

이전 포스팅에서 다룬 생성 방법은 리스트에 데이터가 있을 때 리스트를 ndarray로 생성하는 방법이다. 데이터가 없을 때, ndarray를 초기화하고 싶을 때 등의 경우에는 어떻게 해야할까? 리스트를 초기화해서 ndarray로 변환할 수도 있겠지만 numpy에서 쉽게 초기화 할 수 있는 기능을 제공한다. arange(x) : 0부터 x-1까지의 값을 순차적으로 ndarray값으로 변환 a = np.arange(10) a array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) zeros((x, y), dtype) : (x, y) shape의 ndarray의 값을 모두 0으로 초기화 하여 생성. default dtype은 float a = np.zeros((2,2,3), 'int32') #면,..

Programming/Numpy

[numpy] 데이터 핸들링을 위한 넘파이

데이터를 수집하고 가공하는 작업이 선행되어야 하는데, 우리가 얻는 데이터의 대부분은 raw data로 분석에 바로 사용할 수 없다. 분석에 사용할 수 있는 형태로 가공이 필요하다. 가공에는 pandas module이 필요하고 pandas의 데이터 타입을 구성하고 있는 모듈이 numpy module이다. numpy는 ndarray라는 자료구조를 제공한다. Numpy(Numerical Python) 수치계산을 용이하게 하기 위한 python module로 대용량의 다차원 배열과 matrix(행렬) 연산을 쉽게 하기 위한 python module이다. ndarray는 n-dimensional array. 차원의 개념이 존재하는 배열이다. 파이썬의 기본 데이터 타입인 list는 여러 다른 타입의 데이터를 함께 ..

Heaea
'Programming/Numpy' 카테고리의 글 목록