NumPy

2023. 8. 31. 15:14AI/Big data

    목차
반응형

사용

import numpy as np

배열 선언

np.array
N 차원 배열을 작성할 수 있음
1차원 배열, 2차원 배열, 3차원 배열처럼 원하는 차수의 배열을 만들 수 있음
1차원 배열은 vector
2차원 배열은 matrix

vector와 행렬을 일반화한 것을 tensor라 함

x = np.array([1.0, 2.0, 3.0])
print(x)
[1. 2. 3.]

산술연산

x = np.array([1.0, 2.0, 3.0])
y = np.array([2.0, 4.0, 6.0])
x + y

array([3, 6, 9])

NumPy의 N차원 배열

A = np.array([[1, 2], [3, 4]])
print(A)

[[1 2]
     [3 4]]

A.shape
(2, 2)

A.dtype 
dtype('int64')

Broadcast

numpy는 형상이 다른 배열끼리도 계산 가능

다음과 같이 expansion 되어 계산 되는 것을 braodcast라고 함

[[1, 2 * [[10, 10]
[3, 4]] [10, 10]]

 A = np.array([[1, 2], [3, 4]])
 B = np.array([10, 20])
 A * B
 array([[10, 40
       [30, 80]])

원소 접근

X = np.array([[51, 55], [14, 19], [0, 4]])
print(X)
[[51 55]
 [14 19]
 [ 0  4]]
X[0]

array([51, 55])

X[0][1]
55

X = X.flatten()
print(X)

[51 55 14 19 0 4]

X에서 15 이상인 값만 얻음
X > 15
array([ True, True, False, True, False, False], dtype=bool)

X[X>15]
array(51, 55, 19])

arrange

x = np.arrange(0, 6, 0.1)  # 0에서 6까지 0.1간격으로 생성
y = np.sin(x)

indexing

arr1 = np.arange(10)
arr1[3:9]    # 3번째 요소부터 8번째 요소

array([3, 4, 5, 6, 7, 8])

arr2 = np.array([[1,2,3,4],
                 [5,6,7,8],
                 [9,10,11,12]])
arr2[0,0]

1

arr2[2,:]    # 2행의 모든 요소 꺼내기

array([ 9, 10, 11, 12])

arr2[:,3]    # 3열의 모든 요소

array([ 4, 8, 12])

반응형

'AI > Big data' 카테고리의 다른 글

YARN (Yet Another Resource Negotiator)  (0) 2022.04.30
Hadoop ecosystem  (0) 2022.04.30
Sharding (샤딩)  (0) 2022.04.29
열 지향 스토리지  (0) 2022.04.29
data lake  (0) 2022.04.29