기본 콘텐츠로 건너뛰기

라벨이 concatenate인 게시물 표시

[matplotlib]quiver()함수

[numpy] 배열(np.array) 객체들의 결합

배열 객체들의 결합(concatenate) 관련된 내용 차원(dimension) 두 개이상의 배열객체를 결합하여 단일한 배열 객체로 만들 수 있습니다. 배열 객체는 차원에 따라 형태가 달라집니다. 그러므로 같은 형태의 배열들 사이에서 결합이 이루어지며 결합의 기준이 되는 차원(축)을 지정해야 됩니다. 예를 들어 2×3, 2×3의 형태를 지닌 두 배열의 결합에서 첫번째 축-0번째 인덱스-을 기준으로 하면 결합된 형태는 4×6됩니다. 다음의 함수들은 두 배열 객체를 결합하기 위해 사용하는 것으로 특히 1,2 차원의 배열들의 결합에 적용됩니다( stack 함수 참조). np.vstack([x,y,...]) 배열 형태의 0번째 인덱스가 수정되는 방향으로 결합, 즉 수직적(행방향)으로 연결 인수는 리스트 형식으로 전달 hstack([x,y,...]) 배열 형태의 1번째 인덱스가 수정되는 방향으로 결합, 즉 수평적(열방향)으로 연결 인수는 리스트 형식으로 전달 np.random.seed(1) a1=np.random.randint(10, size=(3)) b1=np.random.randint(10, size=(3)) print(f"shape of a1: {a1.shape}\nshape of b1: {b1.shape}") shape of a1: (3,) shape of b1: (3,) 위 객체 a1, b1은 벡터입니다. 두 벡터를 행단위로 결합하면 2행이 되며 열단위로 결합하면 여전히 벡터가 됩니다. ab1v=np.vstack([a1,b1]) ab1h=np.hstack([a1, b1]) print(f"shape of ab1v: {ab1v.shape}\nshape of ab1h: {ab1h.shape}") shape of ab1v: (2, 3) shape of ab1h: (6,) 행렬의 경우 역시 마찬가지 입니다. 행단위 결합은 차원의 첫번째 인덱스, 열단위 결합으로 두번째 인덱스가 ...

[numpy]concatenate 함수

concatenate 함수 두 개 이상의 동일한 차원의 배열들을 연결합니다. np.concatenate((x,y,...), axis=0) 객체 x, y 등은 numpy array 또는 list, DataFrame 등 배열과 유사한 자료형 인수 axis에 배열들에 존재하는 축들 중의 하나를 지정 axis는 축인덱스를 의미 axis=0(기본값) : 행(1차원) 단위로 결합 axis=1: 열(2차원) 단위로 결합 존재하지 않은 축을 지정할 경우 예외 발생 다음은 두 1차원 배열(벡터)들을 연결하는 것으로 axis 인자는 0만 존재합니다. 그러므로 다음과 같이 결합 (3,) + (3,) = (6,) a=np.array([0,7,9]) b=np.array([8,3,5]) print(np.concatenate((a,b))) [0 7 9 8 3 5] 위 객체 a와 b는 모두 1차원 벡터이므로 축인덱스는 0만 존재하므로 다음과 같이 axis=1인 경우 없는 축을 지정하는 것으로서 예외(에러) 발생합니다. print(np.concatenate((a,b), axis=1)) AxisError: axis 1 is out of bounds for array of dimension 1AxisError: axis 1 is out of bounds for array of dimension 1 다음 객체 c와 d는 2차원 배열로서 axis=0은 다음과 같이 결합 ( 2 , 3) + ( 2 , 3) = ( 4 , 3) np.random.seed(10) c=np.random.randint(10, size=(2,3)) d=np.random.randint(10, size=(2,3)) print(np.concatenate((c, d))) [[9 4 0] [1 9 0] [1 8 9] [0 8 6]] axis=1 : (2, 3 ) + (2, 3 ) = (2, 6 ) print(np.concatenate((c,d...

배열(Numpy. array)

내용 배열 객체의 자료형 배열 결합(concatenate) 배열의 분할 배열 객체의 자료형 자료형 (data type)은 입력된 데이터를 위한 메모리의 크기를 확정하기 위한 것입니다. 그러므로 데이터 형(data type)을 명시하지 않은 상태에서 여러 유형이 혼재된 경우 일반적으로 큰 메모리가 소비되는 형태로 자동 지정되지만 경우에 따라서는 메모리 과부하 상태로 인해 자료의 손실이 발생할 수 있습니다. 그러므로 다양한 자료형이 혼재된 경우 명시적으로 데이터 타입을 지정하는 것이 안전합니다. np.array() 함수를 사용하여 배열 객체를 생성할 경우 dtype에 인수를 전달함으로서 배열의 데이터형을 지정할 수 있습니다. 그러나 이 값을 지정하지 않을 경우 그 데이터형은 자동으로 지정되는데 일반적으로 numpy 배열의 기본 데이터 형은 실수형(np.float64)입니다. 이것은 정수형과 실수형이 혼합되어 있을 경우 실수형으로 인식된다는 의미입니다. x=np.ones(1) x array([1.]) x.dtype dtype('float64') 위 속성 dtype은 객체의 데이터 형을 반환하지만 역으로 그 속성을 사용하여 객체의 데이터 형을 지정할 수 있습니다. 예를 들어 다음 객체 x는 실수(부동소수)로 입력하였지만 객체에 int 32를 지정하여 정수형으로 변환할 수 있습니다. x=np.ones(1, dtype=np.int32) x array([1], dtype=int32) x.dtype dtype('int32') 다음 표는 numpy 배열에서 사용할 수 있는 자료형의 종류입니다. 구분 type(code) 예 숫자형 boolean bool(b) [True, False] 정수형 int8(i1) [-2, 0, 1,2] int16(i...