NumPy는 파이썬에서 과학적 계산과 수치 연산을 빠르게 처리할 수 있도록 도와주는 라이브러리입니다. 배열(Array)이라는 자료 구조를 제공하고, 이를 이용해 벡터화된 연산을 수행할 수 있어서 대규모 데이터를 다루거나 복잡한 수학 계산을 할 때 자주 사용됩니다.
NumPy의 주요 기능과 특징
1. 다차원 배열 (ndarray)
NumPy의 핵심은 ndarray라고 하는 다차원 배열입니다. 배열은 동일한 데이터 타입을 가진 원소들의 집합이며, NumPy 배열은 파이썬의 리스트(list)보다 빠르고 효율적입니다. 배열은 1차원, 2차원, 3차원 등 여러 차원으로 확장될 수 있습니다.
- 1차원 배열 (벡터):
출력:
- 2차원 배열 (행렬):
출력:
2. 빠른 연산:
NumPy는 배열을 사용하여 벡터화된 연산을 수행합니다. 즉, 배열의 각 요소에 대해 반복문을 사용하지 않고도 빠르게 계산을 수행할 수 있습니다. 이는 배열 간의 산술 연산이 요소별로 자동으로 적용되기 때문입니다.
- 배열 간 연산:
출력:
- 스칼라 연산:
출력:
3. 다양한 수학 함수:
NumPy는 수학적 연산에 필요한 다양한 함수들을 제공합니다. 예를 들어, 배열의 합, 평균, 표준 편차 등을 쉽게 계산할 수 있습니다.
- 합계:
- 평균:
- 표준 편차:
4. 배열 생성 함수:
NumPy는 다양한 방법으로 배열을 쉽게 생성할 수 있는 함수들을 제공합니다.
- 연속된 숫자의 배열 생성:
출력:
- 0으로 채워진 배열:
출력:
- 임의의 수로 채워진 배열:
5. 배열 인덱싱과 슬라이싱:
NumPy 배열의 특정 요소를 참조하거나, 배열의 일부분을 선택할 수 있습니다. 이를 통해 데이터의 일부를 쉽게 추출하거나 수정할 수 있습니다.
- 인덱싱:
출력:
- 슬라이싱:
출력:
6. 다차원 배열의 인덱싱:
2차원 이상의 배열에서는 행과 열을 기준으로 값을 참조하거나 슬라이싱할 수 있습니다.
- 2차원 배열에서 특정 요소 접근:
출력:
- 2차원 배열 슬라이싱:
출력:
7. 형태 변환:
배열의 형태(Shape)를 쉽게 바꿀 수 있는 기능도 제공합니다.
- 배열 형태 바꾸기:
출력:
NumPy의 장점
1. 빠른 연산: NumPy 배열은 파이썬 리스트에 비해 **메모리 효율적**이고, **벡터화된 연산**을 지원하여 훨씬 빠르게 동작합니다.
2. 다양한 수학 기능: 다양한 수학적 함수들을 제공하여 복잡한 계산을 쉽게 처리할 수 있습니다.
3. 대규모 데이터 처리: 대용량 데이터 처리에 최적화되어 있어, 데이터 과학, 머신러닝 등에서 많이 사용됩니다.
4. 다양한 파일 입출력: NumPy는 배열 데이터를 파일로 저장하거나 파일에서 읽어오는 기능도 제공합니다.
NumPy와 Pandas의 차이점
- NumPy는 주로 배열을 다루는 데 초점을 맞추고 있어 수치 연산이 빠르고 간편하지만, 구조화된 데이터를 처리하는 데는 한계가 있습니다.
- Pandas는 표 형태의 구조화된 데이터(예: 엑셀 파일, CSV 등)를 다루기에 적합하며, 데이터 전처리, 분석, 필터링 등에서 더 유리합니다.
요약
NumPy는 파이썬에서 배열 연산과 수치 계산을 빠르고 효율적으로 수행할 수 있도록 도와주는 기본적인 라이브러리입니다. 수학적 함수, 배열 연산, 슬라이싱, 다차원 배열을 쉽게 다룰 수 있어 데이터 과학과 수학적 분석에서 필수적인 도구입니다.
'Coding > TIL & 배운것들' 카테고리의 다른 글
인공지능을 위한 파이썬 3주차 & 4주차 (3) | 2024.10.01 |
---|---|
인공지능을 위한 파이썬 1주차 & 2주차 (2) | 2024.09.30 |
(Python) pandas 란 (0) | 2024.09.25 |
python이란 (1) | 2024.09.23 |
웹개발 gpt 4주차 (1) | 2024.09.19 |