본문 바로가기

전체 글66

Numpy ndarray shape 변경 ravel 다차원 배열을 1차원으로 변경 원소의 주소를 복사하여 반환 따라서 변경 배열의 원소값을 바꾸면 원 배열의 값도 바뀜 order 파라미터 'C' - row 우선 변경 'F' - column 우선변경 # 기본 변경 x = np.arange(8).reshape(2, 4) # array([0, 1, 2, 3, 4, 5, 6, 7]) np.ravel(x) x.ravel() # 둘 다 가능 np.ravel(x, order='F') # array([0, 4, 1, 5, 2, 6, 3, 7]) temp = x.ravel() temp[0] = 100 #[[100 1 2 3] # [ 4 5 6 7]] temp의 값을 변경하면 x의 값도 변경된다. flatter rave.. 2020. 2. 29.
Numpy ndarray 인덱싱, 슬라이싱 ndarray 인덱싱 파이썬의 리스트와 동일한 개념으로 사용 ,를 이용하여 각 차원의 인덱스에 접근 가능 인덱싱을 통해 차원이 변경될 수 있다. x = np.arange(36).reshape(3, 4, 3) x[1] #3차원 1번 인덱스를 반환 #3차원에서 2차원으로 변경됨. ndarray 슬라이싱 리스트, 문자열의 슬라이싱과 동일한 개념으로 사용 , 를 사용하여 각 차원 별로 슬라이싱 가능 인덱싱과 달리 슬라이싱을 해도 차원이 줄지는 않음 x = np.arange(10).reshape(2, 5) # [[0 1 2 3 4] # [5 6 7 8 9]] x[:, 1:4] # 행은 전체, 열은 1번 인덱스 이상 4번 인덱스 미만 # array([[1, 2, 3], # [6, 7, 8]]) 행렬 인덱싱 정수 배.. 2020. 2. 29.
Numpy ndarray 생성 ndarray 생성 array 함수로 생성 # 1차원 벡터 x = np.array([1,2,3,4]) # 2차원 행렬 y = np.array([[2,3,4], [1,2,5]]) arange 함수로 생성 # np.arange(이상, 미만, step) np.arange(5) # array([0,1,2,3,4]) np.arange(1, 5) # array([1,2,3,4]) np.arange(5, 50, 10) # array([5, 15, 25, 35, 45]) ones, zeros 함수로 생성 np.ones((2, 3)) # array([[1., 1., 1.], # [1., 1., 1.]]) empty, full 함수로 생성 np.empty((2, 2)) # array([[3.22643519e-307, 3... 2020. 2. 29.
Numpy 개요 Numpy 파이썬의 수치해석용 패키지이다. ndarray 클래스 N-dimensional Array의 약자이다. Numpy의 다차원 행렬구조 클래스이다. 파이썬의 List와 동일한 출력형태를 갖는다. contiguous memory layout 내부 반복문 사용으로 빠른 행렬 연산 가능 array indexing 기능 벡터화 연산 가능 Python의 List 클래스 객체는 linked list와 같은 형태를 가지므로 각각의 원소가 다른 자료형이 될 수 있다. 그러나 ndarray의 클래스 객체는 C언어의 행렬처럼 연속적인 메모리 배치 ( Contiguous memory layout )을 가지기 때문에 모든 원소가 같은 자료형이어야 한다. 이러한 제약을 가지는 대신 내부의 원소에 대한 접근과 반복문 실행이.. 2020. 2. 29.