아하
  • 토픽

  • 스파링

  • 잉크

  • 미션


강직한칠면조272

강직한칠면조272

21.02.14

Numpy array 순서 뒤집는 가장 효율적인 방법이 뭔가요?

예를들어 array([[[1, 1, 1, 2], [2, 2, 2, 3], [3, 3, 3, 4]], [[1, 1, 1, 2], [2, 2, 2, 3], [3, 3, 3, 4]]])

위 array를

array([[[2, 1, 1, 1], [3, 2, 2, 2], [4, 3, 3, 3]], [[2, 1, 1, 1], [3, 2, 2, 2], [4, 3, 3, 3]]])

이렇게 바꾸고 싶어요.

    2개의 답변이 있어요!

    • 보랏빛수염고래51

      보랏빛수염고래51

      21.02.15

      >>> a array([[[1, 1, 1, 2], [2, 2, 2, 3], [3, 3, 3, 4]], [[1, 1, 1, 2], [2, 2, 2, 3], [3, 3, 3, 4]]]) >>> np.flip(a, axis=2) array([[[2, 1, 1, 1], [3, 2, 2, 2], [4, 3, 3, 3]], [[2, 1, 1, 1], [3, 2, 2, 2], [4, 3, 3, 3]]])

      Flip함수를 써서 바꿔보세요.

    • NumPy array에서 제공되는 함수를 활용하여 변경할 수 있습니다.

      NumPy array 순서를 변경하는 함수로는 np.flip(), np.flipud(), np.fliplr() 등이 있으며 기능을 설명드리자면

      예제) a = np.array([[1, 2], [3, 4]]) print(a) print(np.flip(a)) print(np.flipud(a)) print(np.fliplr(a)) 출력) [[1 2] [3 4]] [[4 3] [2 1]] [[3 4] [1 2]] [[2 1] [4 3]]

      np.flip()은 요소의 순서를 뒤집습니다.
      [[4 3] [2 1]]

      np.flipud()는 flip up/down direction 함수입니다. 요소를 위/아래 방향으로 뒤집습니다.
      [[3 4] [1 2]]

      np.fliplr()는 flip left/right direction 함수입니다. 요소를 좌/우 방향으로 뒤집습니다.
      [[2 1] [4 3]]

      해당 함수들은 순서가 변경된 array를 반환하며 원본 array를 변경하지는 않습니다. 반환된 결과값을 저장하여 사용하시면 됩니다.