프로그래밍/Python

[Python] 파이썬 numpy의 설치부터 핵심 기능과 활용 법

rrruu 2023. 9. 25. 21:41
반응형

파이썬은 다양한 분야에서 사용되는 범용 프로그래밍 언어입니다.

특히, 데이터 분석 분야에서 파이썬은 필수적인 도구로 자리 잡고 있습니다.

파이썬에서  numpy는 숫자 배열을 다루는 데 사용되는 라이브러리입니다.

파이썬의 기본 자료형인 리스트는 숫자 배열을 다루는 데 편리하지만, 대규모 데이터를 처리하는 데는 효율적이지 않습니다. 그러나 numpy는 대규모 숫자 배열을 효율적으로 저장하고 처리할 수 있도록 도와줍니다.

파이썬 numpy를 설치하는 방법은 다음과 같습니다.

 

pip를 이용한 설치

pip는 파이썬의 패키지 관리자로, 파이썬으로 작성된 패키지 소프트웨어를 설치하는 데 사용됩니다. numpy를 pip를 이용해 설치하려면, 터미널이나 커맨드 프롬프트에서 다음 명령어를 입력합니다.

pip install numpy

 

conda를 이용한 설치

conda는 파이썬의 패키지 관리자로, pip와 유사하게 파이썬으로 작성된 패키지 소프트웨어를 설치하는 데 사용됩니다. numpy를 conda를 이용해 설치하려면, 터미널이나 커맨드 프롬프트에서 다음 명령어를 입력합니다.

conda install numpy

 

numpy의 주요 기능은 다음과 같습니다.

  • 숫자 배열의 생성 및 처리
  • 벡터화 연산
  • 다양한 수학 함수
  • 통계 함수

 

numpy 배열의 생성

numpy 배열은 np.array() 함수를 사용하여 생성합니다. np.array() 함수의 인자로 숫자 리스트, 숫자 범위, 숫자 배열을 지정할 수 있습니다.

import numpy as np

# 숫자 리스트로 배열 생성
arr1 = np.array([1, 2, 3, 4, 5])
print(arr1)

# 숫자 범위로 배열 생성
arr2 = np.arange(1, 10)
print(arr2)

# 숫자 배열로 배열 생성
arr3 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr3)

 

실행결과

[1 2 3 4 5]
[1 2 3 4 5 6 7 8 9]
[[1 2 3]
 [4 5 6]]

 

numpy 배열의 속성

numpy 배열은 다음과 같은 속성을 가지고 있습니다.

  • ndim: 배열의 차원
  • shape: 배열의 모양
  • size: 배열의 요소 수
  • dtype: 배열의 데이터 타입
print(arr1.ndim)  # 1
print(arr1.shape)  # (5,)
print(arr1.size)  # 5
print(arr1.dtype)  # int32

 

numpy 배열의 접근

numpy 배열은 리스트와 마찬가지로 [] 연산자를 사용하여 접근할 수 있습니다.

print(arr1[0])  # 1
print(arr1[1:3])  # [2 3]
print(arr2[2])  # 3
print(arr3[0, 1])  # 2

 

numpy 배열의 연산

numpy 배열은 다음과 같은 연산을 수행할 수 있습니다.

  • 산술 연산
  • 비교 연산
  • 논리 연산
  • 벡터화 연산
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

print(arr1 + arr2)  # [5 7 9]
print(arr1 * arr2)  # [4 10 18]
print(arr1 > 2)  # [False False True]
print(arr1 == arr2)  # [False False False]

# 벡터화 연산
arr1 = np.arange(1, 10)
print(arr1 ** 2)  # [1 4 9 16 25 36 49 64 81]

 

numpy 배열의 활용

numpy 배열은 다양한 분야에서 활용될 수 있습니다. 특히, 데이터 분석 분야에서 다음과 같은 용도로 사용됩니다.

  • 데이터의 저장 및 처리
  • 수학 및 통계 함수의 사용
  • 시각화

numpy는 파이썬 데이터 분석의 필수적인 도구입니다. numpy를 익히면 파이썬을 사용하여 대규모 데이터를 효율적으로 처리하고 분석할 수 있습니다.

반응형