2차원 행렬 생성 하는 방법 2 가지
-1. 중첩 리스트 => np.array ()
-2. 1차원 배열 => shape()=(행,열)
'''
정리
1. 가. np.array(리스트) 이용해서 2차원 배열(행렬) 생성이 가능하다.
==> 반드시 각 행의 열의 갯수는 일치해야한다.
나.np.array(1차원리스트)
shape=(행,열) 명시적으로 행과 열을 지정
shape=(행,-1) 지정된 행의 개수에 의해서 열 개수가 설정된다
shape=(-1,열) 지정된 열의 개수에 의해서 행 개수가 설정된다
2. 반드시 동일한 타입을 지정해야 된다. 타입이 다르면 일치 시킨다,(upcasting)
3. 정수는 기본이 4바이트인 int32이고 실수는 기본이 8바이트인 float64 이다.
4. 차원 정보는 ndim, 모양은 shape, 저장된 데이터 타입은 dtype으로 알 수 있다.
'''
import numpy as np #numpy의 별칭은 np
#1. 2차원 배열인 행렬 생성, np.array(중첩리스트)
x=[[1,2,3],[4,5,6]] #중첩리스트
s=np.array(x)
print(x,s)#[[1, 2, 3], [4, 5, 6]] [[1 2 3][4 5 6]]
print(type(x),type(s))#<class 'list'> <class 'numpy.ndarray'>'
print(s.ndim,s.shape)#2 (2, 3)
print(s.ndim,s.shape,s.dtype)#2 (2, 3) int32
x=[[1,2,3],[4,5,6,7]]#is deprecated.: 과거에는 사용됐었는데 현재는 사용하지 말자 ==> 언제든지 지원안할 수 있음을 알아야한다.
s=np.array(x)
print(x,s)
#2. 1차원 ---> 2차원 변경
arr=np.array(np.arange(10))
print(arr)#[0 1 2 3 4 5 6 7 8 9]
#명시적으로 행과 열 지정
arr.shape=(1,10) #행*열=arr갯수,[[0 1 2 3 4 5 6 7 8 9]]
arr.shape=(2,5)#[[0 1 2 3 4][5 6 7 8 9]]
arr.shape=(5,2)#[[0 1][2 3][4 5][6 7][8 9]]
arr.shape=(10,1)#[[0][1][2][3][4][5][6][7][8][9]]
print(arr)
#묵시적으로 행과 열 지정
arr.shape=(2,-1) #(2,5)와 동일 [[0 1 2 3 4][5 6 7 8 9]]
arr.shape=(-1,10)#(1,10)와 동일 [[0 1 2 3 4 5 6 7 8 9]]
print(arr)
'python' 카테고리의 다른 글
[numpy] 2차원 배열 | np.zeros(), np.ones(), np.empty(), np.full() (0) | 2022.09.28 |
---|---|
[numpy] 2차원 벡터 | 랜덤 함수 (0) | 2022.09.28 |
[numpy] 1차원 배열 | 삭제, 추가, 삽입 | np.delete(), np.append(), np.insert() (0) | 2022.09.28 |
[numpy] 1차원 배열 | np.linspace() 를 사용하여 array 생성 (0) | 2022.09.28 |
[numpy] 1차원 배열 | np.arrange()를 사용하여 array 생성 (0) | 2022.09.28 |