BE/Python

[Python] Numpy란? numpy array 생성하기

콩다영 2023. 11. 14.
728x90

▷  Numpy (Numerical Python) 란?

import numpy as np

  : 다차원 배열(행렬)을 쉽게 처리하고 효율적으로 사용할 수 있도록 지원하는 파이썬의 라이브러리.

  : 수치해석, 통계 관련 기능을 구현할 때 가장 기본이 되는 모듈.

  : Ndarray 타입의 배열을 만들 수 있음.

     ( ※ Ndarray 타입 : N-dimension array의 약자. 다차원 배열을 의미.)

 

 

[ List 와 Ndarray 차이점 ]   

1. 선언 형태의 차이

   - List : 원소로 여러 가지 자료형을 허용. 내부 배열의 원소 개수가 달라도 된다.

   - Ndarray : 원소로 한 가지 자료형만 허용. 내부 배열의 원소 개수가 같아야 한다.

# a List는 여러 가지 자료형을 허용, b Ndarray는 한 가지 자료형만 허용.
a = [1, 2, 'a', 'b']                # [1, 2, 'a', 'b']
b = np.array([1, 2, 'a', 'b'])      # ['1', '2', 'a', 'b']


# c List는 내부 배열의 원소 개수가 달라도 되고,
# d Ndarray는 내부 배열의 원소 개수가 같아야 한다.
c = [[1], [2, 3], [4, 5, 6]]
d = np.array([1], [2, 3], [4, 5, 6]])      # different lengths or shapes. 에러 발생.

 

2. 연산의 차이

   - List : 더하기 연산만 가능. 빼기, 곱하기, 나누기 연산은 불가.

   - Ndarray : 빼기, 곱하기, 나누기 연산도 동일하게 같은 위치의 원소끼리 연산 가능.

list1 = [1, 3, 5]
list2 = [2, 4, 6]
print(list1 + list2)
 # 결과 : [1, 3, 5, 2, 4, 6]

ndarray3 = np.array([1, 3, 5])
ndarray4 = np.array([2, 4, 6])
print(ndarray3 + ndarray4)
# 결과 : array([ 3,  7, 11])
list1 = [1, 3, 5]
list2 = [2, 4]
print(list1 + list2)
 # 결과 : [1, 3, 5, 2, 4]

ndarray3 = np.array([1, 3, 5])
ndarray4 = np.array([2, 4])
print(ndarray3 + ndarray4)
# 오류 발생.

 

 


Numpy Array 만드는 다양한 방법

 

 

▶ np.zeros(m, n) : m x n 크기의 영행렬 생성

▶ np.ones(m, n) : m x n 크기의 유닛행렬 생성

▶ np.full((m, n), k) : m x n 크기의 모든 원소가 k인 행렬 생성

▶ np.eye(n) : m x n 크기의 단위행렬 생성

print(np.zeros((2,2)))     # 영행렬 생성
print(np.ones((2,3)))      # 유닛행렬
print(np.full((2,3), 5))
print(np.eye(3))           # 단위행렬

 

▶ .flatten() : 행렬의 평탄화 작업

                      평탄화 작업이란? N차원 배열을 1차원 배열로 변환시켜 주는 작업

ndarr = [[1,2], [3,4], [5,6]]
ndarr.flatten()

# [1,2,3,4,5,6]

 

▶ .reshape() : 행렬의 차원을 변경하는 작업

 

▶ .arrange() : 특정 배열을 만들어주는 작업

 

▶ .random.randint(low [, high] [, size]) : 해당 범위에 해당하는 난수로 배열 생성

 

▶ .random.rand(m, n) : m x n 크기의 배열 생성 및 난수 0~1 사이의 난수로 초기화

# numpy의 random 모듈의 random함수를 사용
array1 = numpy.random.random(5)

 

▶ ndarray[ 조건식 ] : 조건식을 넣어서 해당하는 값만 추출

 

728x90
반응형

댓글