• Home
  • About
    • Yerim Oh photo

      Yerim Oh

      Happy and worthwhile day by day :)

    • Learn More
    • Email
    • LinkedIn
    • Instagram
    • Github
    • Youtube
  • Posts
    • All Posts
    • All Tags
  • Projects

[11] Python(Numpy)

23 Jun 2020

Reading time ~2 minutes

Table of Contents
  • 넘파이
    • 배열 위 아래로 합치기
  • 정의
  • 특징
  • Ndarray
    • 호출하는 법
    • array 만들기
  • dtype 체계정리
  • 넘파이의 차원
    • 배열의 크기 print
    • 배열 원소의 타입
    • 인덱스 2의 원소
    • array의 형태(크기)
  • 다양한 형태의 배열을 초기화
    • 0부터 3까지의 배열 만들기
    • 0으로 초기화
    • 1로 초기화
    • 0부터 9까지 랜덤하게 초기화 된 배열 만들기
    • 평균이 0이고 표준편차가 1인 표준 정규를 띄는 배열
  • 다양한 형태로 합치기가 가능
    • 기본 합체
    • 배열 형태 바꾸기
    • 배열 위 아래로 합치기

넘파이

  • 정의
  • 특징
  • Ndarray
    • 호출하는 법
    • array 만들기
  • dtype 체계정리
  • 넘파이의 차원
    • 배열의 크기 print
    • 배열 원소의 타입
    • 인덱스 2의 원소
    • array의 형태(크기)
  • 다양한 형태의 배열을 초기화
    • 0부터 3까지의 배열 만들기
    • 0으로 초기화
    • 1로 초기화
    • 0부터 9까지 랜덤하게 초기화 된 배열 만들기
    • 평균이 0이고 표준편차가 1인 표준 정규를 띄는 배열
  • 다양한 형태로 합치기가 가능
    • 기본 합체
    • 배열 형태 바꾸기
    • 배열 위 아래로 합치기

정의

:배열 및 벡터화 연산

특징

일반 list에 비해 빠르고 효율적(큰 메트리스구성)
>반복문(for while문)없이 빠르게 데이터 처리

Ndarray

:NumPy의 N차원 배열 객체.

호출하는 법

Import numpy as np

array 만들기

Test_array = np.arry([1,4,5,8],int)
Print(test_array)
Type(test_array[3])
- np.arry 함수를 이용하여 배열생성
- 넘파이는 하나의 데이터 타입만 배열에 넣을 수 있음
- list와 가장 큰 차이점, 다이나믹 타이핑 지원X [1,2,’3’,4] ->X

dtype 체계정리

image

넘파이의 차원


- 1차원 축(행): 백터
- 2차원 축(열) : 매트릭스
- 3차원 축(채널): tensor(3차원 이상)

image

#list를 넘파이로 바꿔보기

import numpy as np
array = np.array([1, 2, 3])

배열의 크기 print

print(array.size)
 3

배열 원소의 타입

print(array.dtype) 
int64

인덱스 2의 원소

print(array[2]) 
3

array의 형태(크기)

print(array.shape)
(3,)->결과적으로 5개의 데이터 담김

다양한 형태의 배열을 초기화

import numpy as np

0부터 3까지의 배열 만들기

array1 = np.arange(4)
print(array1)

0으로 초기화

array2 = np.zeros((4, 4), dtype=float)
print(array2)

1로 초기화

array3 = np.ones((3, 3), dtype=str)
print(array3)

0부터 9까지 랜덤하게 초기화 된 배열 만들기

array4 = np.random.randint(0, 10, (3, 3))
print(array4)

평균이 0이고 표준편차가 1인 표준 정규를 띄는 배열

array5 = np.random.normal(0, 1, (3, 3))
print(array5)
#[0 1 2 3]
#[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
#[['1' '1' '1']
['1' '1' '1']
  ['1' '1' '1']]
#[[9 6 6]
  [6 2 1]
  [1 6 3]]
#[[-0.85995876 -2.27512351 -1.15556506]
  [-0.5298595   0.18397865  0.03568352]
  [ 0.00741686 -0.54831076 -1.38529353]]

다양한 형태로 합치기가 가능

기본 합체

import numpy as np

array1 = np.array([1, 2, 3]) 
array2 = np.array([4, 5, 6])
array3 = np.concatenate([array1, array2])

print(array3.shape)
print(array3)
(6,)
[1 2 3 4 5 6]

배열 형태 바꾸기

import numpy as np

array1 = np.array([1, 2, 3, 4])
array2 = array1.reshape((2, 2))

print(array2)

[[1 2]
 [3 4]]

-> np 안쓴다

배열 위 아래로 합치기

import numpy as np

array1 = np.arange(4).reshape(1, 4)
array2 = np.arange(8).reshape(2, 4)
array3 = np.concatenate([array1, array2], axis=0)
print(array3.shape)
print(array3)
(3, 4)
[[0 1 2 3]
 [0 1 2 3]
 [4 5 6 7]]


PythonBasic Share Tweet +1