프로젝트/코드프레소 체험단

파이썬으로 배우는 데이터 분석: NumPy - ndarray 생성

KimCookieYa 2022. 3. 28. 01:02

ndarray

 - NumPy는 다양한 차원의 배열을 효율적으로 다룰 수 있는 라이브러리

 - NumPy는 ndarray(N-Dimension Array)라는 핵심 자료구조를 제공한다.

 - 대규모의 데이터 집합을 담을 수 있는 매우 빠르고 유연한 핵심 자료구조

 

 

1차원 ndarray의 구성요소: Vector

 - 형태(shape): (n,)

 - 원소의 수(size): n

 - 저장된 데이터 타입(dtype)

 

 

2차원 ndarray의 구성요소: Matrix

 - 형태(shape): (n, n)

 - 원소의 수(size): n * n

 - 저장된 데이터 타입(dtype)

 

 

ndarray의 Attribute

 - 형태(shape): ndarray.shape

 - 원소의 수(size): ndarray.size

 - 저장된 데이터의 타입: ndarray.dtype

 - 배열의 차원(축)의 수: ndarray.ndim

 

 

NumPy 라이브러리 호출 및 별칭(alias) 지정

 - NumPy에서 제공하는 함수 호출 시, alias 이용해서 호출 가능

import numpy as np

 

 

NumPy 버전 확인

print(np.__version__)

 

 

ndarray 생성

data = [10, 20, 30]
arr = np.array(data)

print('\nCreate 1D Array')
print(arr)
print('type = ', type(arr))
print("shape: {}, size: {}, dtype: {}, dimension: {}".format(arr.shape, arr.size, arr.dtype, arr.ndim))

np.array(object, dtype)

 - 입력된 데이터(object)를 인자로 받아 ndarray를 생성하는 함수

 - object: ndarray에 저장할 데이터

 - dtype: 배열의 데이터 타입. 기본값은 None. 생략가능

 

 

np.arrange()를 통한 ndarray 생성하기

def printinfo(arr):
  print(arr)
  print("shape: {}, size: {}, dtype: {}, dimension: {}".format(arr.shape, arr.size, arr.dtype, arr.ndim))

arr = np.arrange(2, 10)
print('\nCreate ndarray by np.arange()')
printinfo(arr)

np.arrang(start, stop, (step))

 - 파이썬의 range()와 동일하게 연속된 데이터를 생성하는 함수

 - start: 생성할 시작값으로 생략가능. 생략되면 0부터 생성됨

 - stop: 생성되는 마지막값으로 해당값은 포함되지않음.

 - step: 생성 시 값들의 간격, 생략 가능

 

 

다양한 ndarray 생성 함수

 - np.zeros()

 - np.ones()

 - np.full()

 - np.empty()

 - ..

 

 

np.zeros()를 통한 ndarray 생성하기

arr = np.zeros((3, 4))
print('\n Create ndarray by np.zeors()')
printinfo(arr)

np.zeros(shape, dtype=float)

 - 지정된 크기(shape)만큼 배열을 생성하고, 모든 요소를 0으로 초기화

 - 데이터 타입(dtype)은 입력하지 않으면, 기본 float 타입으로 생성됨

 - shape: 생성할 ndarray의 크기로 튜플() 형태로 저장해야함.

 - dtype: 배열의 데이터 타입. 기본값은 float. 생략가능

 

 

샘플 데이터 생성

data = [[1,2,3], [4,5,6]]
sample =  np.array(data)
print('\n Sample')
printinfo(sample)

one_array = np.ones_like(sample)
print('\n Create ndarray by np.ones_like()')
printinfo(one_array)

 - 지정된 배열과 shape이 같은 ndarray를 생성하는 *_like 함수

 - np.zeros_like()

 - np.ones_like()

 - np.full_like()

 - np.empty_like()