갈루아의 반서재

Array 

Python 의 리스트와 유사한 개념

하지만 array 의 구성요소는 모두 동일한 데이터 타입이어야 한다는 점이 다름


importing NumPy

 

 >>> import numpy as np


버전 확인

 

 >>> numpy.version.full_version

'1.9.1'


Array 기본 구조 (1) 

 >>> a = np.array([1,4,5,8], float)  // 2개의 인수를 가짐. 두번째 인수는 데이터타입

>>> a

array([ 1.,  4.,  5.,  8.])

>>> type(a)

<type 'numpy.ndarray'> // N-dimensional array

>>> a[:2]

array([ 1.,  4.])

>>> a[3]

8.0

>>> a[0] = 5.

>>> a 

array([ 5., 4., 5., 8.])


Array 기본 구조 (2) 

multidimensional 구조를 가질 수 있음

- 각각의 축은 [] (bracket) 안의 , (comma) 로 구분됨

: (colon) 은 해당 dimension에 속하는 전체를 나타냄 

>>> a = np.array([[1,2,3],[4,5,6]],float)

>>> a

array([[ 1.,  2.,  3.],

       [ 4.,  5.,  6.]])

>>> a[0,0]

1.0

>>> a[0,1]

2.0

>>> a[1,:]

array([ 4.,  5.,  6.])

>>> a[:,2]

array([ 3.,  6.])

>>> a[-1:,-2:]

array([[ 5.,  6.]])


Array 기본 구조 (3)  

>>> a = np.array([[1,2,3],[4,5,6]],float)

>>> a

array([[ 1.,  2.,  3.],

       [ 4.,  5.,  6.]])

>>> a.shape // array의 형태를 보여줌

(2, 3)

>>> a.dtype // array 구성요소의 데이터타입을 보여줌

dtype('float64')

>>> len(a) // 첫 번째 dimension 의 크기 반환 

2

>>> 2 in a // 해당 array 에 2라는 값이 있는지 여부 반환

True

>>> 0 in a

False


Array 기본 구조 (4)  

새로운 dimension을 정하는 튜플을 통해 새로운 형태로 만들 수 있음

reshape 함수는 원래 array 는 그냥 둔 채 새로운 array 를 생성함

>>> a = np.array(range(10), float)

>>> a

array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.])

>>> a = a.reshape((5,2))

>>> a

array([[ 0.,  1.],

       [ 2.,  3.],

       [ 4.,  5.],

       [ 6.,  7.],

       [ 8.,  9.]])

>>> a.shape

(5, 2)