[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🛠 기타/Data & AI

[파이썬] Numpy 배열의 확장 및 삭제

inu 2020. 7. 9. 11:00
반응형

Numpy 행렬의 확장

a = np.array([1, 2, 3])
b = np.append(a, [4, 5, 6])
print(b)
=결과=
[1 2 3 4 5 6]
  • append 함수를 활용한다. 이는 비항구적으로 작용한다. (a자체가 변경되지는 않음)
  • 기존 numpy에 배열값을 파라미터로 활용해 추가할 수 있다.
a = np.array([[1, 2], [3, 4]])
b = np.append(a, [[9, 9]], axis=0)
=결과=
[[1 2]
 [3 4]
 [9 9]]
  • axis 옵션을 조정해 행 혹은 열에만 값을 추가할 수도 있다.
  • axis를 0으로 설정하면 행값이 추가된다.
c = np.append(a, [[9], [9]] , axis=1)
print(c)
=결과=
[[1 2 9]
 [3 4 9]]
  • axis값을 1로 주고 열값을 추가할 수 있다.
  • 단, append에 사용되는 파라미터가 위와 같은 형태이어야 한다.
  • cf. axis는 가로방향이라고 생각해놓으면 좋다. 따라서 axis를 1로 두면 가로방향으로 확장되어야하니 열이 추가되는 것이다.

Numpy 배열의 삭제

a = np.array([[1, 2, 3],[4, 5, 6]])
b = np.delete(a, 0)
print(b)
=결과=
[2 3 4 5 6]
  • delete 함수를 활용한다. 이는 비항구적으로 작용한다. (a자체가 변경되지는 않음)
  • 하나면 입력하면 해당 원소값만 삭제된다.
print(np.delete(a, (0, 2, 4)))
=결과=
[2, 4, 6]
  • 이와같이 여러 값을 한 번에 삭제할 수도 있다. (0,2,4번 인덱스값 삭제)
print(np.delete(a, 0, axis = 0))
=결과=
[[4, 5, 6]]
  • axis 값을 0으로 줬으니 세로방향으로 처리된다.
  • 즉, 새로방향의 0번인덱스인 행 하나가 삭제된다.
np.delete(a, 1, axis = 1)
=결과=
[[1, 3],
 [4, 6]]
  • axis 값을 1로 주면 가로방향으로 처리된다.
  • 즉, 가로방향의 1번 인덱스인 열 하나가 삭제된다.
반응형