Numpy Array 만들기

2022. 6. 28. 22:52Data Science/with Python(Numpy, Pandas …ect.)

Numpy 기본 사용 방법

① Numpy array creation

우선 라이브러리를 불러와야 한다.

import numpy as np

전세계 만인 공통 문장.

# python에서 list를 미리 선언한 후에 numpy array로 변환
data = [1, 2, 3, 4, 5]
arr1 = np.array(data)

# python list를 np.array로 변환
np.array([1, 2, 3, 4, 5])

array를 만드는 방법은 위와 같이

간단히 2가지가 있다.

 

위 arr 들의 type을 찍어보면

numpy.ndarray라고 뜨는데 이건

ndarry(d-dimensional array)라고 부르며

간단히 다차원의 array를 지원 가능하게끔

벡터로 인지할 수 있는 array라는 뜻이다.

np.array(1, 2, 3, 4, 5)

단, 주의할 건 위와 같이 대괄호 없이

다이렉트로 숫자를 집어 넣으면

함수에 parameter를 넘긴 것과 동일해서

에러를 발생한다. 차라리 ((괄호를 2번))

넣어준 것은 튜플로 인식하기 때문에

에러가 발생하지 않는다.

 

# np.array.shape 은 np.array의 크기를 알려준다.
arr1.shape

출력값 : (5,)

(5,)는 5X1란 의미로 (5,1)인데

1이 생략되어 있는 형태이다.

 

data2 = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

arr2 = np.array(data2)


# arr2의 차원
print("arr2의 ndim : ", arr2.ndim)
>>> arr2의 ndim : 2

# arr2의 행, 열 크기
print("arr2의 shape : ", arr2.shape)
>>> arr2의 shape : (3, 3)

# arr2의 행 x 열
print("arr2의 size : ", arr2.size)
>>> arr2의 size : 9

# arr2의 원소의 타입
print("arr2의 dtype : ", arr2.dtype)
>>> arr2의 dtype : int64   # integer + 64bits

# arr2의 원소의 사이즈(bytes)
print("arr2의 itemsize : ", arr2.itemsize)
>>> arr2의 itemsize : 8   # 64bits = 8bytes

# itemsize * size (numpy array가 차지하는 메모리 공간)
print("arr2의 nbytes : ", arr2.nbytes)
>>> arr2의 nbytes : 72

그때그때 찾아 쓰면 되기 때문에

다 외울 필요는 없지만 shape과 nbytes는

생각보다 자주 사용하므로 기억해두면 유용하다.

+ 가능하면 dtype까지~!

 

② Array Initialization

numpy array는 생성 후 변경 및 수정이

불가하다고 앞서 이야기 했다. 그래서 미리

어느 정도 희망하는 만큼의 공간을 확보하고

싶은데 안에 넣을 데이터가 있어야 확보가

가능하지 않겠는가? 이때 사용하는, 의미가

없으면서 깔끔한 원소들로 이루어질 수 있도록

하는 방법을 Array Initializstion이라 하고

3가지 방법이 존재한다.

 

- 원소가 0인 array를 생성하는 np.zeros()

- 원소가 1인 array를 생성하는 np.ones()

- 특정 범위의 원소를 가지는 np.arange()

 

# 0이 5개 있는 array
np.zeros(5)

# 0이 3x3인 array !!tuple 형태로 넣어주기
np.zeros((3, 3))

# 1이 3개 있는 array
np.ones(3)

# 1이 2x2인 array !!tuple 형태로 넣어주기
np.ones((2, 2))

# 0부터 9까지 숫자를 자동으로 생성하는 array
np.arange(10)

# 10부터 99까지 숫자를 자동으로 생성하는 array
np.arange(10, 100)

 

'Data Science > with Python(Numpy, Pandas …ect.)' 카테고리의 다른 글

Numpy Array Functions  (0) 2022.06.29
Numpy Indexing+Masking  (0) 2022.06.29
Numpy Operation  (0) 2022.06.29
Numpy 기본 개념  (0) 2022.06.28
아나콘다(ANACONDA) 및 Jupyter Notebook  (0) 2022.06.27