[파이썬][Numpy] 배열 복사와 뷰(view) 예제
Numpy 배열의 복사와 뷰(View)에 대한 예제를 제공하겠습니다. 배열을 복사하거나 뷰를 생성하는 방법에는 중요한 차이가 있으며, 이를 이해하는 것이 중요합니다.
배열 복사 예제:
import numpy as np
# 배열 생성 예제
original_arr = np.array([1, 2, 3, 4, 5])
# 배열 복사 (깊은 복사)
copied_arr = original_arr.copy()
print("깊은 복사 결과:")
print(copied_arr)
# 원본 배열 변경
original_arr[0] = 99
print("\n원본 배열 변경 후:")
print(original_arr)
print("복사된 배열:")
print(copied_arr)
배열 뷰(View) 예제:
# 배열 생성 예제
original_arr = np.array([1, 2, 3, 4, 5])
# 배열 뷰 생성
view_arr = original_arr.view()
print("배열 뷰:")
print(view_arr)
# 원본 배열 변경
original_arr[0] = 99
print("\n원본 배열 변경 후:")
print(original_arr)
print("배열 뷰:")
print(view_arr)
위의 코드에서는 배열 복사와 배열 뷰의 차이를 보여줍니다.
실행 결과는 다음과 같을 것입니다:
배열 복사 결과:
깊은 복사 결과:
[1 2 3 4 5]
원본 배열 변경 후:
[99 2 3 4 5]
복사된 배열:
[1 2 3 4 5]
배열 뷰(View) 결과:
배열 뷰:
[1 2 3 4 5]
원본 배열 변경 후:
[99 2 3 4 5]
배열 뷰:
[99 2 3 4 5]
-
배열 복사:
.copy()
메서드를 사용하여 복사하면 원본 배열과 복사본은 완전히 독립적인 배열이 되며, 한 쪽의 변경이 다른 쪽에 영향을 미치지 않습니다. -
배열 뷰(View):
.view()
메서드를 사용하여 뷰를 생성하면 원본 배열과 뷰가 데이터를 공유합니다. 따라서 원본 배열을 변경하면 뷰도 변경됩니다. 이는 메모리와 시간을 절약할 수 있으며, 대용량 데이터 처리에 유용합니다.
배열을 복사할지 뷰를 생성할지는 작업의 성격과 요구사항에 따라 결정해야 합니다.