Numpy (2)
데이터 전처리|조회 5|2026.08.25 20:30
0:00 / 35:59
Numpy (2)
35:59학습 목표
이 영상을 통해 NumPy의 ndarray에서 슬라이싱 시 발생하는 view와 copy의 차이를 명확히 이해하고, 실제 데이터 처리 과정에서 발생할 수 있는 원본 데이터 변경 문제를 방지하는 방법을 배웁니다. 또한, NumPy의 기본적인 연산과 유니버설 함수(ufunc), 집계 함수 사용법을 익히고, 날짜 데이터를 효과적으로 다루기 위한 타입 변환 방법을 학습합니다.
핵심 개념
ndarray슬라이싱의viewvscopy: 파이썬 리스트의 슬라이싱은 항상 복사본을 생성하지만, NumPy의ndarray슬라이싱은 기본적으로 원본 데이터를 참조하는view를 생성합니다. 이는 메모리 효율성을 높이지만,view를 통해 데이터를 수정하면 원본 배열도 함께 변경되는 부작용이 있습니다.copy()메서드를 사용하면 명시적으로 복사본을 생성할 수 있습니다.# View 예시 (원본 변경됨) arr = np.array([1, 2, 3, 4, 5]) view_arr = arr[1:3] # arr의 일부를 참조 view_arr[0] = 99 # arr도 99로 변경됨 print(arr) # [99 2 3 4 5] # Copy 예시 (원본 유지) arr = np.array([1, 2, 3, 4, 5]) copy_arr = arr[1:3].copy() # arr의 복사본 생성 copy_arr[0] = 99 # copy_arr만 변경됨 print(arr) # [1 2 3 4 5]reshape(): 기존 배열의 값을 유지하면서 차원과 형태를 변경합니다. 이 역시 기본적으로view를 반환합니다.flatten(): 다차원 배열을 1차원 배열로 펼치면서 값을 복사합니다.view가 아닌copy의 대표적인 예시입니다.- 배열 연산 및 유니버설 함수 (ufunc): NumPy는 배열 간의 산술 연산(덧셈, 뺄셈 등)을 효율적으로 수행하며,
add,subtract,multiply등과 같은 유니버설 함수를 제공합니다. - 집계 함수:
sum(),mean(),max(),min()등 배열의 전체 또는 특정 축에 대한 통계값을 계산하는 함수입니다. - 데이터 타입 변환: 문자열 형태의 날짜 데이터를
datetime64와 같은 날짜/시간 타입으로 변환하여 날짜 기반 연산을 가능하게 합니다.ndarray.astype()메서드를 사용합니다.
공부 방향성
이 영상을 시청하기 전에 파이썬의 기본 리스트와 NumPy의 ndarray의 기본적인 차이에 대해 알고 있으면 좋습니다. 영상 시청 후에는 view와 copy의 개념을 명확히 구분하여 실제 데이터 처리 시 예상치 못한 원본 데이터 변경을 방지하는 연습을 해보세요. 특히, 데이터를 함수에 전달하거나 슬라이싱하여 사용할 때 copy()를 적절히 활용하는 것이 중요합니다. 또한, NumPy의 다양한 연산 함수와 집계 함수를 익혀 데이터 분석의 효율성을 높이고, 실제 시계열 데이터 처리에서 날짜 타입 변환의 필요성과 방법을 숙지하여 데이터 분석 능력을 향상시키세요. 다음 학습으로는 Pandas 라이브러리를 통해 더욱 강력한 데이터 조작 및 분석 기능을 배우는 것을 추천합니다.