나는 hdf5 파일 아래에 몇 개의 2 차원 배열을 가지고 있는데, 어떻게 PyTables에서 하나의 다차원 배열로 병합 할 수 있습니까? 즉, 파일은 배열 A, 배열 yB, 배열 C, 배열이됩니다. X 1 차원 A, 2 차원 B, 3 차원 CNumPy/PyTables의 여러 2 차원 어레이에서 다차원 배열을 형성하는 방법은 무엇입니까?
답변
나는 당신이 numpy.dstack()
을 찾고 있다고 생각합니다. docs에서
:이 도움이
Stack arrays in sequence depth wise (along third axis).
Takes a sequence of arrays and stack them along the third axis to make a single array.
All of them must have the same shape along all but the third axis.
희망. 사랑 스럽네!
또한 질문이 정확하지 않습니다. 결과 배열은 3 차원을가집니다. 각 배열은이 세 번째 차원의 색인 중 하나와 연결됩니다. 따라서 arrayB를 복구하고자 할 때 다음과 같이 슬라이딩합니다 :'arrayA_again = multiarray [:, :, 0]' – heltonbiker
정말 고마워요! –
죄송합니다, 이전의 코멘트에 대해 실수했습니다 : arrayA (B가 아님)를 복구하려면 다음과 같이 자릅니다 :'arrayA_again = multiarray [:, :, 0]','arrayD_again = multiarray [:, :, 3]'등이 있습니다. 또한 크기 (numpy에 대한'ndims ')의 수는 높이, 너비 및 깊이의 3 가지로 배열의 SHAPE와 혼동하지 마십시오. 원하는만큼 길어질 수 있습니다. 200 개의 행과 300 개의 열이있는 배열이 있고 그 중 20 개를 스택하면 shape = (200, 300, 20) 인 3 차원 배열이됩니다. 예를 들어, 마지막 배열을 원한다면'multiarray [:, :, - - 1]'을 슬라이스 할 수 있습니다. – heltonbiker
병합 할 때 무엇을 의미합니까? – user545424