비둘기 둥지

[Python / Numpy] 1. 여러 배열 만들기 본문

데이터 분석/Numpy 공부

[Python / Numpy] 1. 여러 배열 만들기

KimDove 2022. 3. 30. 09:49
728x90

1. 일반적인 형태의 배열 만들기 

import numpy as np

## 실수형 numpy 배열
print('float array : \n', np.array([1, 2, 3, 4], dtype = 'float32'))

## 정수형 numpy 배열
print('\nint array : \n', np.array([1, 2, 3, 4], dtype = 'int'))

## 리스트와 반복문을 이용하면 다차원 numpy 배열을 생성할 수 있음.
## range() 함수를 이용해 반복 변수인 rep ~ rep + 2 까지의 숫자를 배열의 원소로 삽입
print('\n다차원 배열 : \n', np.array([range(rep, rep+3) for rep in [1, 2, 3]]))

## 출력 결과 
float array : 
 [1. 2. 3. 4.]

int array : 
 [1 2 3 4]

다차원 배열 : 
 [[1 2 3]
 [2 3 4]
 [3 4 5]]

2. 특수한 형태의 배열 만들기 

## 0으로만 이루어진 정수 배열 만들기
print('zero array has len 10 : \n', np.zeros(10, dtype = int))

## 1로만 이루어진 실수 배열 만들기
print('\nones array has shape 3 x 5 : \n', np.ones((3, 5), dtype = float))

## 특정 값으로만 이루어진 배열 만들기
print(f'\n3.14 array has shape 3 x 5 : \n', np.full((3, 5), 3.14))

## 출력 결과
zero array has len 10 : 
 [0 0 0 0 0 0 0 0 0 0]

ones array has shape 3 x 5 : 
 [[1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]
 [1. 1. 1. 1. 1.]]

3.14 array has shape 3 x 5 : 
 [[3.14 3.14 3.14 3.14 3.14]
 [3.14 3.14 3.14 3.14 3.14]
 [3.14 3.14 3.14 3.14 3.14]]
## n ~ m까지 l씩 증가 시키는 선형 배열 만들기
## 파이썬의 내장함수 range와 비슷한 역할을 함.
print('linear array from 0 to 20 has step size 2 : \n', np.arange(0, 20, 2))

## n ~ m까지 사이의 값을 l개의 일정한 간격으로 나눈 값으로 채운 배열 만들기
print('\n linear array from 0 to 1 has uniform step size \n', np.linspace(0, 1, 5))

## 출력 결과
linear array from 0 to 20 has step size 2 : 
 [ 0  2  4  6  8 10 12 14 16 18]

 linear array from 0 to 1 has uniform step size 
 [0.   0.25 0.5  0.75 1.  ]
## 균등하게 분포된 3x3 배열 만들기 (0 ~ 1 사이의 난수로 채움)
print('random array has shape 3x3 : \n', np.random.random((3, 3)))

## mean : 0, std : 1을 가지는 정규 분포 난수로 채운 3x3 배열 만들기
print('\nstandard distribution array has shape 3x3 : \n', np.random.normal(0, 1, (3, 3)))

## 3x3 단위행렬 만들기
print('3x3 identity matrix : \n', np.eye(3, 3))

## 출력 결과
random array has shape 3x3 : 
 [[0.259142   0.39895841 0.26225286]
 [0.57860137 0.76431671 0.67051828]
 [0.7083773  0.92446507 0.9327117 ]]

standard distribution array has shape 3x3 : 
 [[ 0.16322698 -2.14693481  0.65314579]
 [-0.42090596  0.55859701  1.11668424]
 [ 1.43774009  0.30386782 -0.70271302]]
 
 3x3 identity matrix : 
 [[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]

99. 참고 자료

  • O'REILLY | 제이크 밴더 플래스 저 / 위키북스 김정인 역 - 파이썬 데이터 사이언스 핸드북

전체 코드

 

GitHub - EvoDmiK/TIL: Today I Learn

Today I Learn. Contribute to EvoDmiK/TIL development by creating an account on GitHub.

github.com


부탁의 말씀

개인적으로 공부하는 과정에서 오류가 있을 수 있으니, 오류가 있는 부분은 댓글로 정정 부탁드립니다.


 

728x90

'데이터 분석 > Numpy 공부' 카테고리의 다른 글

[Python / Numpy]2. Numpy 배열 성질 - 1  (0) 2022.03.30
Comments