python/numpy +1

python numpy 01

python/numpy2018. 2. 18. 18:17

"""

Numerical Python

고성능의 과학계산 컴퓨팅과 데이터 분석에 필요한 기본 패키지


제공하는 기능

1) 빠르고 메모리를 효율적으로 사용하며 벡터 산술연산과 세련된

브로드캐스팅 기능을 제공하는 다차원 배열인 ndarray

2) 반복문을 작성할 필요없이 전체 데이터 배열에 대해 빠른 연산을

제공하는 표준 수학 함수

3) 배열 데이터를 디스크에 쓰거나 읽을 수 있는 도구와 메모리에 올려진

파일을 사용하는 도구

4) 선형대수(linear algebra), 난수 발생기, 푸리에 변환 기능

5) c, c++, 포트란으로 쓰여진 코드를 통합하는 도구

"""

import numpy as np

data = np.random.randn(3, 3)

print (data)


[[ 0.07353147  0.2299053  -1.40381414]

 [ 0.28591902 -0.13944514 -0.2153317 ]

 [-0.82442217 -0.94539717  0.30150343]]


random.randn 함수는 Return a sample (or samples) from the standard normal” distribution. (표준 정규 분포)


# 벡터의 모양 출력

print (data.shape) 

=> data 가 3x3 행렬 이기 때문에 (3,3) return


# 벡터의 원소들 데이터 타입 출력

print (data.dtype)

=> float64


# 차원

print (data.ndim)

=> 2차원 



# ndarray 생성

import numpy as np

import pprint as ppr

s = [n for n in range(3, 20)]

vec = np.array(s)

ppr.pprint (vec)


# 자료형 

s = [n for n in range(3, 20)] # 요 녀석은 파이썬의 list 타입

vec = np.array(s, dtype=np.float32)


# 새로운 배열을 생성

[1] zeros

import numpy as np

import pprint as ppr

np = np.zeros(shape=(4, 4))

ppr.pprint(np)

=>

array([[0., 0., 0., 0.],

       [0., 0., 0., 0.],

       [0., 0., 0., 0.],

       [0., 0., 0., 0.]])

[2] arange

import numpy as np

v = np.arange(start=10, stop=30, step=1, dtype=np.int16)

print (v)

=>

[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29]