Python/Numpy

11. Numpy 재정리 - 생성, 인덱싱, 슬라이싱, 재구조화

frcn 2020. 2. 13. 17:59
반응형

1. 배열 생성

1) 그냥 np.array()에 넣어준다.

 

 

2) zeros, ones, full, eye

 

 

3) arange, linspace

 

 

4) random.random / random.normal / random.randint

 

 

2. 인덱싱 

1) [행, 열]로 인덱싱하면 됨.

 

 

3. 슬라이싱

기본적으로 x[start : stop : step]

 

1) 1차원 슬라이싱

 

 

2) 다차원 슬라이싱

 

 

 

3) 슬라이싱의 특징

 

일부를 슬라이싱 한 뒤, 값을 변경하면 원본 데이터의 값이 변경된다.

 

원본이 변경되지 않게 값을 수정하고 싶다면, 하드카피를 이용해서 수정해야 한다.

copy( )

 

 

 

4. 배열의 재구조화, 연결, 분할

 

1) 재구조화 reshape( )

 

1차원배열을 다차원으로, 다차원배열을 1차원으로 쉽게 바꿀 수 있다.

데이터의 개수와 행 * 열의 개수가 같지 않으면, 에러발생.

 

 

2) 연결. concatenate( ), vstack( ) , hstack( )

 

concatenate는 같은 차원에서만 가능. 행, 열을 설정하면 어느 방향이나 가능.

vstack과 hstack은 다른 차원도 가능하지만, 방향이 정해져 있음.

 

 

3) 분할. split( ), hsplit( ), vsplit( ), dsplit( )

 

1차원에서는 split( )이 편함.

split(나눌 대상, [index number])로 하면 됨.

 

2차원에서는 hsplit( ), vsplit( )이 편함.

hsplit(나눌 대상, [행 또는 열 index]) 로 사용 

 

3차원에서는 dsplit( )을 사용하면 됨.

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형