X = [[25, 2], [5, 26], [3, 7]] 라는 2차원 배열은
X = np.array([[25, 2], [5, 26], [3, 7]]) 이렇게 넘파이배열로 만들 수 있다.
두개의 차이점을 gpt에 물어봤더니, 단순 2차원 배열은 벡터나 행렬연산을 하는데 적합하지 않다고 한다.
np.array()를 쓰는 이유는 각종 수학적 연산을 이용하기 위해서다.
인덱스를 통해 접근하는 방식도 단순 2차원 배열은 X[행][열]로 하지만,
넘파이배열은 X[행,열]로 접근한다. 0부터 인덱싱하며, 슬라이싱도 지원한다.
파이썬 배열은 X[][]일 경우 두 번 접근하는데, 넘파이배열은 X[ , ]으로 한 번에 접근해서 훨 빠르다고 한다.
이와 관련해서는 다른 게시물에 정리를 할 것이다.
TensorFlow와 PyTorch에서 행렬을 사용하고자 하면 Numpy와 똑같은 방법으로 사용하면 된다.
(메서드나 함수사용에 약간의 차이는 있다.)