본문 바로가기
■ 칼퇴를 위한 파이썬 : 사례

파이썬으로 데이터 분석하기: NumPy 기초

by 포탈메이커 2023. 7. 12.

파이썬으로 데이터 분석하기: NumPy 기초

numpy_logo

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 [데이터 분석을 위한 파이썬과 주피터 노트북] 강의 내용을 기반으로 작성되었습니다.