본문 바로가기
Data Analysis/Data Analysis

Python 데이터분석과 이미치 처리 : 다양한 개발 환경 소개 & Numpy 기본 사용법

by SeleniumBindingProtein 2022. 4. 3.
728x90
반응형

PyCharm

- 가장 많은 사람들이 사용하는 파이썬 개발 환경 중 하나

- Community 버젼을 이용해도 기본적인 파이썬 개발이 가능함

 

CoLab

- 나만의 파이썬 개발환경을 1초 만에 가질 수 있도록 해주는 서비스

- OpenCV를 포함한 이미지 처리 라이브러리가 기본적으로 설치되어 있음

- 무료 서비스일 뿐만 아니라 GPU 런타임을 지원함

- 다른 사람과 함께 코드를 공유하며, 협업하기에 좋은 개발 환경임

 

Repl.it

- 아무런 계정도 필요 없이, 즉시 Python 개발 가능

- 여러 사람이 동시에 하나의 화면에서 코딩이 가능

- 소스코드 업로드 및 저장이 가능함

- 다양한 패키지를 검색하여 설치할 수 있음

 

기초 파이썬 라이브러리 : Numpy, Matplotlib : CoLab, Repl.it 공통

OpenCV2 : CoLab

 

 


Numpy의 기본 사용법

Numpy란?

- Numpy는 다차원 배열을 효과적으로 처리할 수 있도록 도와주는 도구

- 현실 세계의 다양한 데이터는 배열 형태로 표현할 수 있음

- Python의 기본 List에 비해 빠르고 강력한 기능을 제공함 

 

Numpy의 차원

- 1차원 축(행): axis 0 => Vector

- 2차원 축(열): axis 1 => Matrix

- 3차원 축(채널): axis 2 => Tensor(3차원 이상)

#Python의 Numpy 라이브러리는 List와 상호 변환이 가능합니다.
import numpy as np

list_data = [1,2,3]
array = np.array(list_data)

print(array.size) # 배열의 크기
print(array.dtype) # 배열 원소의 타입
print(array[2]) # 인덱스 2의 원소

#########################################################

#Python의 Numpy 라이브러리는 다양한 형태의 배열을 초기화 할 수 있습니다.
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)

#########################################################

#Python의 Numpy 라이브러리는 다양한 형태의 배열을 초기화 할 수 있습니다.
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)

#########################################################

#Numpy는 다양한 형태로 합치기가 가능 있습니다.
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)

#########################################################

import numpy as np
#Numpy를 위 아래로 합칠 수 있습니다.
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)

#########################################################

#Numpy의 형태를 변경할 수 있습니다.
import numpy as np

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

#########################################################

#Numpy의 형태를 나누기 할 수 있습니다.
import numpy as np

array = np.arange(8).reshape(2, 4)
left, right = np.split(array, [2], axis=1)

print(left.shape)
print(right.shape)
print(array)
print(left)
print(right[1][1])

 

728x90
반응형

댓글