본문 바로가기

Python/NumPy8

[NumPy] 배열 연산 - (1) 이수안컴퓨터연구소의 NumPy 한번에 끝내기 영상을 보고 정리한 내용입니다. ✅ 배열 연산 NumPy의 배열 연산은 벡터화 연산(vectorized)을 사용한다. 일반적으로 NumPy의 범용 함수(universal functions)를 통해 구현하며 배열 요소에 대한 반복적인 계산을 효율적으로 수행할 수 있다. ✅ 브로드캐스팅 브로드캐스팅(Broadcasting)은 NumPy가 산술 연산 중 다른 모양의 배열을 처리하는 방법이다. 특정 제약 조건에 따라 더 작은 array는 호환되는 모양을 갖도록 더 큰 array에 대해 브로드캐스팅된다. 즉, 산술 연산을 하고 싶은 두 피연산자 배열이 각기 다른 shape을 가지고 있어도 산술 연산을 할 수 있게끔 shape이 동일하게 맞춰진다. a1 = np.arra.. 2022. 2. 5.
[NumPy] 배열 변환 - (2) 이수안컴퓨터연구소의 NumPy 한번에 끝내기 영상을 보고 정리한 내용입니다. ✅ 배열 추가 ✔️ numpy.append() 배열의 끝에 값을 추가한다. numpy.append(arr, values, axis=None) arr: 값을 붙일 배열. values는 복사된 arr에 append된다. values : 이어붙일 값들. arr과 같은 shape을 가지고 있어야 한다. axis : 이어붙일 대상이 될 축. a2 = np.arange(1, 10).reshape(3, 3) b2 = np.arange(10,19).reshape(3, 3) print(a2) print(b2) # output # [[1 2 3] # [4 5 6] # [7 8 9]] # [[10 11 12] # [13 14 15] # [16 17.. 2022. 2. 2.
[NumPy] 배열 변환 - (1) 이수안컴퓨터연구소의 NumPy 한번에 끝내기 영상을 보고 정리한 내용입니다. ✅ 배열 전치와 축 변경 ✔️numpy.ndarray.T 선형대수학에서 전치행렬은 행과 열을 교환하여 얻는 행렬이다. 즉, 주대각선을 기준으로 행렬을 뒤집은 것과 같다. NumPy에서 전치행렬은 ndarray.T 혹은 ndarray.transpose()로 얻을 수 있다. (ndarray.T가 self.transpose()와 같다.) print(a2) print(a2.T) # output # [[1 2 3] # [4 5 6] # [7 8 9]] # [[1 4 7] # [2 5 8] # [3 6 9]] a2.T를 출력하자 주 대각선을 기준으로 전치된 행렬이 출력된 것을 확인할 수 있다. 이는 np.transpose(a2)와 a2.t.. 2022. 1. 24.
[NumPy] 배열 값 삽입/수정/삭제/복사 이수안컴퓨터연구소의 NumPy 한번에 끝내기 영상을 보고 정리한 내용입니다. ✅ 배열 값 삽입 ✔️ numpy.insert() 배열에 값을 삽입하는 것은 insert() 메서드를 통해 이루어진다. insert() 메서드는 배열의 특정 위치에 값을 삽입하며 추가할 방향을 axis로 지정한다. axis를 지정하지 않으면 1차원 배열로 변환한다. insert() 메서드는 원본 배열의 변경 없이 값이 추가된 새로운 배열을 반환한다. numpy.insert(arr, obj, values, axis=None) arr : 값을 삽입할 배열. obj : 정수 혹은 일련의 정수들. 값을 삽입할 index. values : array_like. 삽입할 값. axis : 옵션. 값을 삽입할 축. print(a1) b1 = .. 2022. 1. 24.
[NumPy] 인덱싱과 슬라이싱 이수안컴퓨터연구소의 NumPy 한번에 끝내기 영상을 보고 정리한 내용입니다. ✅ Indexing NumPy의 배열들은 일반 배열들처럼 index로 요소에 접근할 수 있다. index가 양수이면 배열의 앞에서부터, 음수이면 배열의 뒤에서부터 접근하는 것도 동일하다. import numpy as np a1 = np.array([1, 2, 3, 4, 5]) print(a1) print(a1[0]) print(a1[-1]) # output # [1 2 3 4 5] # 1 # 5 a2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(a2) print(a2[0,0]) print(a2[1,2]) print(a2[-1,2]) # output # [[1 2 3] # [4 5 .. 2022. 1. 23.
[NumPy] 배열 생성 - (2) 이수안컴퓨터연구소의 NumPy 한번에 끝내기 영상을 보고 정리한 내용입니다. ✅ 생성한 값으로 배열 생성 ✔️ numpy.arange() 주어진 start와 end의 사이를 일정한 간격으로 값을 생성, 배열을 반환한다. python의 range 함수를 배열을 생성하는데 사용하는 것과 비슷하다. numpy.arange([start, ]stop, [step, ]dtype=None, *, like=None) start : 정수 혹은 실수. 지정할 범위의 시작값. 기본값은 0. stop : 정수 혹은 실수. 지정할 범위의 끝값. end로 지정된 수는 포함하지 않음. step : 옵션. 저장할 데이터의 간격 import numpy as np print(np.arange(0, 30, 2)) # output # [ .. 2022. 1. 23.
[NumPy] 배열 생성 - (1) 엘리스AI트랙에서 제공하는 자료를 보고 정리한 내용입니다. 이수안컴퓨터연구소의 NumPy 한번에 끝내기 영상을 보고 정리한 내용입니다. ✅ list로 배열 만들기 ✔️ numpy.array() NumPy에서는 파이썬의 자료형인 list로 다차원의 배열을 만들 수 있다. numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0, like=None) object : 배열 혹은 배열 인터페이스의 객체 # 1차원 배열 만들기 a1 = np.array([1, 2, 3, 4, 5]) print(a1) # output # [1 2 3 4 5] # 2차원 배열 만들기 a2 = np.array([[1, 2, 3], [4, 5, 6], [7.. 2022. 1. 22.
[NumPy] NumPy의 정의와 특징 이수안컴퓨터연구소의 NumPy 한번에 끝내기 영상을 보고 정리한 내용입니다. ✅ NumPy와 특징 NumPy는 Numerical Python의 약자로 계산 과학(scientific computing)을 위한 파이썬의 라이브러리이다. 계산 과학은 수치적 방법과 컴퓨터 계산을 이용하여 복잡한 과학이나 공학 문제를 이해, 해결하는 분야인데 NumPy는 이러한 복잡한 문제를 푸는 데에 도움을 줄 수 있다. NumPy는 고성능 과학 계산용 패키지로 강력한 N차원의 배열 객체를 제공한다. 이외에도 범용적 데이터 처리에 사용 가능한 다차원 컨테이너로 다양한 파생 객체(masked array and metrics) 및 수학, 논리, 형상 조작, 정렬, 선택, I/O, 이산 푸리에 변환, 기본 선형 대수, 기본 통계 연.. 2022. 1. 22.