파이썬으로 데이터 분석하기: NumPy 기초
NumPy(넘파이)는 파이썬에서 벡터화 연산을 하기 위한 핵심 라이브러리이다. 벡터화 연산은 반복문을 사용하지 않고 배열 연산을 효과적으로 수행하는 방법으로, 데이터 분석에서 많이 사용된다. NumPy를 사용하면 배열(Array)과 행렬(Matrix)을 효율적으로 다룰 수 있으며, 수치 계산을 보다 쉽게 할 수 있다.
NumPy 배열 생성하기
NumPy 배열은 np.array()
함수를 사용하여 생성한다. 배열을 생성하기 위해 필요한 인자는 파이썬 리스트(list) 형태로 전달한다.
```python import numpy as np
1차원 배열 생성
arr1 = np.array([1, 2, 3, 4, 5]) print(arr1) # [1 2 3 4 5]
2차원 배열 생성
arr2 = np.array([[1, 2, 3], [4, 5, 6]]) print(arr2)
[[1 2 3]
[4 5 6]]
```
배열의 속성 확인하기
NumPy 배열은 다음과 같은 속성을 가지고 있다.
ndim
: 배열의 차원 수를 반환한다.shape
: 배열의 구조(크기)를 반환한다.size
: 배열의 요소 개수를 반환한다.dtype
: 배열의 데이터 타입을 반환한다.
```python import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.ndim) # 2 print(arr.shape) # (2, 3) print(arr.size) # 6 print(arr.dtype) # int64 ```
배열의 연산
NumPy 배열은 요소별(element-wise) 연산을 지원한다.
```python import numpy as np
arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6])
덧셈
print(arr1 + arr2) # [5 7 9]
뺄셈
print(arr1 - arr2) # [-3 -3 -3]
곱셈
print(arr1 * arr2) # [4 10 18]
나눗셈
print(arr1 / arr2) # [0.25 0.4 0.5] ```
배열 인덱싱과 슬라이싱
NumPy 배열의 인덱싱과 슬라이싱은 파이썬 리스트와 유사하게 작동한다.
```python import numpy as np
arr = np.array([1, 2, 3, 4, 5])
인덱싱
print(arr[0]) # 1 print(arr[-1]) # 5
슬라이싱
print(arr[1:4]) # [2 3 4] print(arr[:3]) # [1 2 3] print(arr[2:]) # [3 4 5] ```
배열의 형태 변경하기
NumPy 배열의 형태를 변경하기 위해 reshape()
함수를 사용할 수 있다.
```python import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
2x3 행렬로 변환
newarr = arr.reshape(2, 3) print(newarr)
[[1 2 3]
[4 5 6]]
```
결론
NumPy는 파이썬에서 데이터 분석을 위한 핵심 라이브러리로, 벡터화 연산을 통해 효율적인 배열 연산을 제공한다. NumPy 배열을 통해 데이터를 다루는데 많은 도움을 받을 수 있으며, 다양한 연산과 인덱싱, 슬라이싱 작업을 수행할 수 있다. 따라서 데이터 분석에 있어서 NumPy는 필수적인 도구로 사용된다.
본 포스팅은 파이콘 한국 2021 [데이터 분석을 위한 파이썬과 주피터 노트북] 강의 내용을 기반으로 작성되었습니다.
'■ 칼퇴를 위한 파이썬 : 사례' 카테고리의 다른 글
파이썬으로 이미지 처리하기: Pillow 사용법 (0) | 2023.07.12 |
---|---|
파이썬으로 머신러닝 시작하기: Scikit-learn 소개 (0) | 2023.07.12 |
파이썬으로 자연어 처리하기: NLTK 사용법 (0) | 2023.07.12 |
파이썬으로 웹 스크래핑하기: Selenium 사용법 (0) | 2023.07.12 |
파이썬으로 웹 애플리케이션 개발하기: Flask 시작하기 (0) | 2023.07.12 |