Numpy

 

1. 목적 및 사용 용도

Numpy는 파이썬에서 데이터 처리를 위해 널리 사용되는 라이브러리

 

목적 : 주로 수치 연산과 과학적 계산을 위한 라이브러리

사용 용도 : 고성능 다차원 배열 객체인 'ndarray'를 사용하여 벡터화된 수치 연산을 수행. 주로 행렬연산, 선형대수, 통계, 수학적 함수 등에서 사용된다.

구조 : 넘파이 배열은 동일한 데이터 타입을 가지며, 다차원 배열을 효율적으로 처리할 수 있다.

 

2. 주요 데이터 구조

  • ndarray: N차원 배열 객체로, 동종 데이터(모든 요소가 같은 데이터 타입)를 저장합니다. 고성능 수치 연산을 위한 다양한 함수와 메서드를 제공합니다.

3. 데이터 조작 및 기능

  • 주로 수학적 연산에 중점을 둡니다. 배열 간의 연산, 선형 대수 연산, Fourier 변환 등 고성능 수치 연산을 지원합니다.
  • 브로드캐스팅 기능을 통해 배열 간의 연산을 효율적으로 수행할 수 있습니다.

4. 성능

  • 메모리 효율성과 연산 속도 면에서 매우 우수합니다. 대규모 수치 연산에 적합합니다.
  • 벡터화된 연산을 통해 반복문을 최소화하고 빠른 계산을 수행합니다.

 

요약

  • 넘파이는 주로 수치 연산 및 과학적 계산에 사용됩니다.
  • 넘파이는 동일한 데이터 타입의 다차원 배열을 처리하는 데 강점

 

import numpy

 

 

- 파이썬 리스트를 통해 생성

numpy 모듈의 array 메소드에 파라미터로 파이썬 리스트를 넘겨주면 numpy array가 리턴됩니다.

 

1차원 array생성

array1 = numpy.array([2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31])
print(array1) # [ 2  3  5  7 11 13 17 19 23 29 31]

 

타입 확인

print(type(array1)) # <class 'numpy.ndarray'>
<class 'numpy.ndarray'>

 

요소 확인

print(array1.shape) # (11,) 11개의 요소가 있다.

 

 

 

2차원 array 생성

array2 = numpy.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
print(array2)
print(array2.shape) # (3, 4) 행:3 열:4
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]
(3, 4)

 

 

요소의 개수 출력

print(array1.size) # 11
print(array2.size) # 12

 

 

 

균일한 값으로 array생성

numpy.full(생성할 개수, 입력할 값)

array1 = numpy.full(6, 7)

print(array1) # [7 7 7 7 7 7]

 

 

 

모든 값이 0인 numpy array 생성

numpy.zeros(6, dtype=int)

array1 = numpy.full(6, 0)
array2 = numpy.zeros(6, dtype=int)

print(array1)
print()
print(array2)
[0 0 0 0 0 0]

[0 0 0 0 0 0]

 

모든 값이 1인 numpy array 생성

numpy.ones(6, dtype=int)

array1 = numpy.full(6, 1)
array2 = numpy.ones(6, dtype=int)

print(array1)
print()
print(array2)
[1 1 1 1 1 1]

[1 1 1 1 1 1]

 

랜덤한 값들로 생성

array1 = numpy.random.random(6)
array2 = numpy.random.random(6)

print(array1)
print()
print(array2)
[0.03324978 0.12104063 0.59124917 0.40598322 0.51654182 0.18895607]

[0.89759737 0.35333745 0.53036455 0.61011018 0.39151271 0.78917448]

 

 

 

연속된 값들이 담긴 numpy array생성

# 파라미터 1개
array1 = numpy.arange(6)
print(array1) # [0 1 2 3 4 5]


# 파라미터 2개
array1 = numpy.arange(2, 7)
print(array1) # [2 3 4 5 6]

# 파라미터 3개
# arange(n, m, s)를 하면 n부터 m-1까지의 값들 중 간격이 s인 값들이 담긴 numpy array가 리턴됩니다.
array1 = numpy.arange(3, 17, 3)
print(array1) #  [3  6  9 12 15]

 

모듈 별명 지어주기

as 뒤에 별명을 지어준다.


- 넘파이(Numpy)의 모듈 별명은 주로 np입니다. 이는 관습적으로 사용되는 별명

import numpy as np

array1 = np.full(6,0)
array2 = np.zeros(6)
array3 = np.full(6,6)
array4 = np.ones(9)
array5 = np.random.random(6)
array6 = np.random.random(10)

'데이터 분석 > numpy' 카테고리의 다른 글

5. numpy 기본 통계  (0) 2024.06.03
4. numpy 불린 연산  (1) 2024.06.03
3. numpy 기본 연산  (0) 2024.06.03
2. 인덱싱 슬라이싱  (0) 2024.06.03