수업(국비지원)/Python
[Python] numpy 행렬
byeolsub
2023. 4. 25. 13:27
'''
2022-12-06 복습
# 시각화 과정 -------------------------------
seaborn 모듈을 이용한 그래프
distplot : 밀도선 + 객수의 막대그래프 표시
kdeplot : 밀도선
histplot : 갯수의 막대그래프
heatmap : 표로 이루어진 데이터를 색상으로 표시
boxplot : box그래프 줄력. 값의 범주를 그래프로 출력
violinplot : 값의 범주 + 분포도를 표시.
가로길이가 넓은 부분은 분포가 많은 수치를 의미.
pairplot : 각각의 컬럼별 데이터 분포 그리기
각변수(컬럼)들의 산점도 출력
대각선위치의 그래프는 히스토그램으로 표시
FacetGrid : 조건(컬럼의 값)에 따라 그리드 나누기.
컬럼의 값(범주형 데이터)에 따라서 여러개의 그래프를 출력
# 지도 시각화 ---------------------------------
folium 모듈 사용하기
CircleMarker : 원형마커
Marker
-> 마커 내부의 아이콘 설정하기
icon=['home','flag','bookmark','star']
MarkerCluster 기능 : 지도확대 정도에 따라 마커 표시방법을 달리해준다.
그룹화 기능
지도에 데이터의 크기만큼 색상으로 표시
fill_color : 색상표. 데이터에 맞는 색상값을 가져오기 위한 색상표
fill_opacity : 내부 색상 투명도
line_opacity : 경계선 투명도
'''
📌
### numpy : 행렬 또는 통계관련 기본함수, 다차원 배열 기능을 제공하는 모듈
import numpy as np
# 배열 생성
# np.arange(15) : 0 ~ 14까지의 숫자
# reshape(3,5) : 3행 5열의 2차원 배열로 생성
# 배열 갯수가 맞아야함.
a = np.arange(15).reshape(3,5)
a # 0~14까지의 숫자를 3행 5열의 2차원 배열로 생성
type(a) # 결과 -> numpy.ndarray
# 배열 요소의 자료형
a.dtype # 'int32' => 32비트, 4byte
# 배열의 형태
a.shape # (3, 5) => 3행 5열
np.arange(15).shape # (15,) => 1차원 배열
np.arange(15).reshape(15,1).shape # (15, 1) => 2차원 배열
# 배열의 차수
a.ndim # => 2차원
np.arange(15).ndim # => 1차원
# 배열의 요소의 바이트 크기
a.itemsize # => 4
# 배열 요소의 갯수
a.size # 15
np.arange(15).size # => 15


# 리스트로 배열 생성하기
b = np.array([6,7,8])
b
type(b)
# 튜플로 배열 생성하기
c = np.array((6,7,8))
c
type(c)
# 리스트로 2차원 배열 생성하기
d = np.array([[6,7,8],[1,2,3]])
d
# 0으로 초기화 된 3행 4열 배열 e 생성하기
#1
e = np.array([[0,0,0],[0,0,0],[0,0,0]])
e
e.shape # (3, 3)
#2
e = np.zeros((3,4))
e
e.shape

# 모든 요소의 값이 0인 배열 100개를 1차원 배열로 생성하기
f = np.zeros(100)
f
f.shape # (100,)
# 모든 요소의 값이 1인 배열 100개를 1차원 배열로 생성하기
g = np.ones(100)
g
g.shape # (100,)
# 1으로 초기화된 10행 10열 배열 h 생성하기
h = np.ones((10,10))
h
h.shape # (10, 10)

# 0~999까지의 값을 가진 100행 100열로 배열 i 생성하기
i = np.arange(10000).reshape(100,100)
i.shape # (100, 100)
i[:10]


# 0에서 2까지의 숫자를 9개로 균등분할하여 배열로 생성
j = np.linspace(0,2,9)
j
j.size # 9
# 0~9까지 숫자를 20개로 균등분할하여 배열로 생성
k = np.linspace(0,2,20)
k
k.size # 20
# 1의 값으로 10개를 가진 배열 l
l = np.ones(10)
l
l.dtype # 'float64'
# 정수형 1의 값으로 10개를 가진 배열 l
l = np.ones(10,dtype=int)
l
l.dtype # 'int32'
# 상수값
np.pi # 3.141592653589793
