NumPy에서 1D 배열 전치
배열과 행렬은이 Python 라이브러리의 핵심을 형성합니다. 이러한 배열과 행렬의 전치는 기계 학습과 같은 일부 과목에서 중요한 역할을합니다. NumPy에서는 배열이나 행렬의 전치를 계산하는 것이 간단합니다.
NumPy에서 1D 배열 전치
NumPy에서 배열 또는 행렬을 전치하려면 전치 된 배열 또는 행렬을 저장하는T
속성을 사용해야합니다.
T
속성은 NumPy 배열, 즉ndarray
전용입니다. 이 속성은 Python 목록에 유효하지 않습니다.
이론적으로는 1D 배열을 전치하는 것이 가능하지만 기술적으로 또는 더 정확하게 프로그래밍 언어 측면에서 1D 배열을 전치하는 것은 불가능합니다.
이 진술로 오해하지 마십시오. 파이썬이나 다른 프로그래밍 언어에서 1D 배열을 전치하는 것은 약간 다릅니다. 그것은 모두 배열이 프로그래밍 언어로 표현되는 방식으로 귀결됩니다.
1D 배열은 단순히 행렬의 행입니다. 이 배열, 기술적으로 행렬을 전치해야한다면이 1D 행렬을 2D 행렬로 변환해야합니다. 그런 다음 지정된 함수를 사용하여 2 차원 행렬을 전치합니다.
더 나은 설명은 다음 코드를 참조하십시오.
import numpy as np
a = [1, 2, 3, 4, 5]
b = np.array(a)
c = np.array([a])
print(b)
print(c)
print(b.shape)
print(c.shape)
print(b.T)
print(c.T)
출력:
[1 2 3 4 5]
[[1 2 3 4 5]]
(5,)
(1, 5)
[1 2 3 4 5]
[[1]
[2]
[3]
[4]
[5]]
먼저,np.array()
메소드와 Python 목록을 사용하여 두 개의 NumPy 배열을 구성합니다.b
는 1D이고c
는 2D입니다. 목록을 2D 행렬로 변환하려면[]
대괄호로 둘러 쌉니다. 그런 다음 NumPy 배열과 각각의 모양을 인쇄합니다.
그러나 가장 중요한 것은 1D 배열의 전치가 배열 자체와 동일하지만 2D 배열의 전치가 완전히 변경된다는 것입니다. 그리고 그 결과는 매우 분명합니다.
전치되지 않은 2D 배열에는 행렬의 행을 나타내는 5 개의 요소가 포함 된 배열이 있습니다. 전치했을 때, 각 행에 요소가 하나씩있는 전치 행렬의 5 개 행을 나타내는 2D 배열 내에 5 개의 배열이있었습니다. 이것이 바로 조옮김이 작동하는 방식입니다!
반면, 1D 어레이의 경우, Python에서 [1 2 3 4 5]
의 전치된 배열이 [[1 2 3 4 5]]
와 같이 보이기 때문에 동일한 배열이 반환되었다. 그리고 이 결과를 얻으려면 원래 어레이가 1D가 아니라 2D여야 합니다.