나는 3d 인스턴스가있는 데이터 집합을 나타내는 4d numpy 배열을 가지고 있습니다. 배열의 모양이 (32, 32, 3, 73257)
이라고합시다.4d numpy 배열 다시 배열
어떻게 배열 형태를 (73257, 32, 32, 3)
으로 변경할 수 있습니까?
--- 질문 업데이트 rollaxis와 transpose가 모두이 트릭을 수행하는 것으로 보입니다.
고맙습니다. 답장을 보내 주셔서 감사합니다.
나는 3d 인스턴스가있는 데이터 집합을 나타내는 4d numpy 배열을 가지고 있습니다. 배열의 모양이 (32, 32, 3, 73257)
이라고합시다.4d numpy 배열 다시 배열
어떻게 배열 형태를 (73257, 32, 32, 3)
으로 변경할 수 있습니까?
--- 질문 업데이트 rollaxis와 transpose가 모두이 트릭을 수행하는 것으로 보입니다.
고맙습니다. 답장을 보내 주셔서 감사합니다.
에 대한 arr[i,j,k,l] == arr2[l,i,j,k]
을 할 것입니다 np.transpose
기능은 정확하게 당신이 원하는, 당신은 당신이 교환 할 축되는 제어하는 축 인수를 전달할 수 있습니다 않습니다
a = np.empty((32, 32, 3, 73257))
b = np.transpose(a, (3, 0, 1, 2))
b의 축은 a의 치환 된 버전입니다. b의 축 0은 a의 3 번째 축이고, b의 축 1은 a의 0 번째 축입니다.
,이렇게하면 사용자가 두 번째 또는 세 번째 자리에 원하는 크기 (32)의 축을 지정할 수
b = np.transpose(a, (3, 1, 0, 2))
또한 원하는 형상의 배열을 제공하지만, 이전 다르다.
np.rollaxis(arr, axis=-1)
은 원하는대로 할 것입니다. 예 :
>>> arr = np.empty(32, 32, 3, 73257)
>>> arr2 = np.rollaxis(arr, axis=-1)
>>> arr2.shape
(73257, 32, 32, 3)
이 모든 ijkl
Related - http://stackoverflow.com/questions/41022182/change-shape-of-nparray – Divakar
'(3, 0, 1, 2) '를 사용하면'transpose'도 여기에서 작동합니다. – Eric
당신 말이 맞습니다. . 나는 나의 답장을 가능한 빨리 바로 잡을 것이다. – Panos