자신에게 친절할 것 :)

Data Science/Numpy

[Numpy] 배열

Tashapark 2024. 5. 19. 21:25
728x90

주피터 노트북으로 하는 중

 

- 넘파이 배열은 numpy.array로 만들어줌. 

타입은 numpy.ndarray --> n dimentional array

--> 3차원도 가능하기 때문

import numpy

#1차원 배열은 파이썬 리스트를 array 메소드의 파라미터로 넣어줌
array1 = numpy.array([2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31])

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

#배열 타입
type(array1)
#numpy.ndarray

#배열 모양; 차원 확인
array1.shape
#(11,)

#요소 개수
array1.size
#11

#----------
#2차원 배열은 행마다 []로 끊어줌.
array2 = numpy.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])

array2
#array([[ 1,  2,  3,  4],
       	 [ 5,  6,  7,  8],
       	 [ 9, 10, 11, 12]])

type(array2)
#numpy.ndarray

array2.shape
#2차원이라서 행, 렬. 3차원은 더 길어짐)
#(3, 4)

array2.size
#12

 

 

- 같은 값 계속 넣어서 만들기 --> full 사용

- 숫자(영문)를 메소드로 넣을 수도 있으나 0과 1만 가능

#같은 값으로 만들기
array1 = numpy.full(6, 7)

#zeros or ones 만 가능
array2 = numpy.ones(6, dtype = int)

print(array1)
print()
print(array2)

#[7 7 7 7 7 7]
#
#[1 1 1 1 1 1]

 

- 랜덤은 넘파이에 내재된 메소드로 사용가능 

- random 모듈 안에 random 함수가 있음. 

- 0~1 사이 값

array1 = numpy.random.random(6)

print(array1)

#[0.56336434 0.25356475 0.0418283  0.20114092 0.12623272 0.1737387]

 

- 연속 값들로 배열 만들기. 

- python의 range와 매우.. 거의 비슷 

- 인자 1: arange(n) --> 0 ~ n

- 인자 2: arange(n, m) --> n ~ m-1

- 인자 3: arange(n, m, p) --> n ~ m-1 까지를 p간격 마다. 

 

array1 = numpy.arange(6)
print(array1)
#[0 1 2 3 4 5]

array2 = numpy.arange(1,8)
print(array2)
#[1 2 3 4 5 6 7]

array3 = numpy.arange(2, 9, 3)
print(array3)
#[2 5 8]

 

 

- 근데 반복해서 칠때마다 너무 기니깐 

as로 넘겨서 참조하자 

import numpy as np
728x90
반응형