2016-12-03 3 views
0

파이썬에서 numpy를 사용하고 있습니다. 나는 1D (nx1) 배열과 2D (nxm) 배열을 가지고있다. argsort를 사용하여 1D 배열의 인덱스를 얻습니다. 이제이 indice를 사용하여 2D (nxm) 배열의 열을 정렬하고 싶습니다.정렬 numpy 2 차원 배열에서 열의 인덱스로

나는 어떻게하는지 알고 싶습니까? 예를 들어

:

>>>array1d = np.array([1, 3, 0]) 
>>>array2d = np.array([[1,2,3],[4,5,6]]) 

>>>array1d_indice = np.argsort(array1d) 
    array([2, 0, 1], dtype=int64) 

I want use array1d_indice to sord array2d colum to get: 
    [[3, 1, 2], 
    [6, 4, 5]] 

또는 어쨌든 쉽게이를 달성하기 환영

+0

tuple(vi)의 순서 주위에 행 스위치를 얻으려면? – MSeifert

+0

나는 나의 설명을 바꿨다. 그리고 지금 분명해야한다. 그리고 j__의 답이 작용합니다. –

답변

0

무엇을 의미하는 것은 당신이 당신이 벡터에 argsort 사용하여 벡터에 따라 정렬 된 열을 원하는 경우 :

다음
vi = np.argsort(vector) 

올바른 순서로 array의 열을 주선,

sorted = array[:, tuple(vi)] 
당신이 당신의 예상 출력은 어떠해야하는지 설명 할 수 :

관련 문제