본문 바로가기

PYTHON/Numpy

기본함수

broadcasting

  • 특정한 어떤 조건이 맞을 때 모양이 다른 배열끼리도 연산 가능
  • Shape이 같은 두 ndarray에 대한 연산은 각 원소별로 진행
  • 두 배열 간의 연산에서 최소한 하나의 배열의 차원이 1인 경우 반복 확장되어 연산
a = np.arange(12).reshape(4, 3)
b = np.arange(10, 13)
a + b
array([[10, 12, 14],
       [13, 15, 17],
       [16, 18, 20],
       [19, 21, 23]])
a * b
array([[  0,  11,  24],
       [ 30,  44,  60],
       [ 60,  77,  96],
       [ 90, 110, 132]])

연산 함수

  • add, substract, multiply, divide

  • .linalg.inv

    • 역행렬 구하는 함수

    • 모든 차원의 값이 같아야 함

  • .linalg.solve

    • Ax = B 형태의 선형대수식 솔루션 제공
A = np.array([[2, 6], [5, 3]])
B = np.array([44, 62])

x = np.linalg.solve(A, B)
print(x)

np.allclose(A@x, B)
[10.  4.]
True

통계 함수

  • mean, var, std, median
  • max, min, argmax, argmin
  • sum, cunsum

any, all 함수

  • any: 특정 조건을 만족하는 것이 적어도 하나 있으면 True, 아니면 False
  • all: 모든 원소가 특정 조건을 만족하면 True, 아니면 False

where 함수

np.where(condition, [x, y])


지수/로그 함수

  • np.exp()
  • np.log()

sort

a.sort(axis=-1, kind=None, order=None)



boolean indexing

  • ndarry 인덱싱 시, bool 리스트를 전달하여 True인 경우만 필터링

  • 브로드캐스팅을 활용하여 ndarray로 부터 bool list 얻음

  • 다중조건 사용

    • 파이썬 논리 연산자 and, or, not 키워드 사용 불가

    • & : AND

    • | : OR

x = np.random.randint(1, 100, size=10)
print(x)
[19 30 15 50 84 79 36 11 75 21]
x[x > 30]
array([50, 84, 79, 36, 75])

'PYTHON > Numpy' 카테고리의 다른 글

shape  (0) 2019.12.29
랜덤함수  (0) 2019.12.28
생성함수  (0) 2019.12.28
basic  (0) 2019.12.28