python 69

[numpy] numpy 범용 함수 - 숫자

- 범용 함수의 개념과 범용 함수인지 확인하는 법 범용함수는 각 레코드 요소마다 함수가 적용된다. numpy에만 있는 기능 ''' 범용 함수 ( universal function ) 1 개념 데이터의 요소별로 연산을 수행하는 함수를 의미한다. ''' import numpy as np # 1. 범용 함수 확인 print(np.abs) # # 2. 일반함수 print(np.array) # ''' 범용 함수 ( universal function ) 1 개념 데이터의 요소별로 연산을 수행하는 함수를 의미한다. ''' import numpy as np # 1. np.abs : 절대값 print("1. np.abs : 절대값 ") arr = np.array([-4.62, -2.19, 0, 1.57, 3.40, 4...

python 2022.09.29

[numpy] numpy 분할 | 열 분할 | 행 분할

- 열 분할 (열의 개수가 줄어듦 가로로 짧아짐 => hsplit) ''' 열분할==> 분할 개수가 동일 1) hsplit 2) split( axis=1 ) ''' import numpy as np arr=np.arange(12).reshape(3,4) print(arr) ''' [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] ''' print(np.hsplit(arr,2)) arr1,arr2=np.hsplit(arr,2) arr1,arr2=np.split(arr,2,axis=1) print(arr1,arr2) ''' [array([[0, 1], [4, 5], [8, 9]]), array([[ 2, 3], [ 6, 7], [10, 11]])] [[0 1] [4 5] [8 9]] [[ 2..

python 2022.09.29

[numpy] numpy 병합 | 열 병합 | 행 병합

-열 병합(열의 개수가 늘어남, 가로로 길어짐 => hstack 이라고 외우기) ''' 열병합==> 1) np.hstack(튜플) 2) np.concatenate(튜플,axis=1)==> axis=1인 컬럼방향으로 병합 3) np.column_stack(튜플)==> 컬럼방향으로 병합 ''' import numpy as np arr=np.arange(9).reshape(3,3) print(arr) ''' [[0 1 2] [3 4 5] [6 7 8]] ''' arr2=arr+100 print(arr2) ''' [[100 101 102] [103 104 105] [106 107 108]] ''' # 가. 컬럼 병합 print(np.hstack((arr,arr2))) print(np.concatenate((ar..

python 2022.09.29

[numpy] numpy 얕은 복사 | 깊은 복사

- 1차원 ''' 얕은 복사(주소값 복사) 및 깊은 복사 (실제값 복사 ) 개념 1. 파이썬 2. numpy ''' import numpy as np # 1. 파이썬 # 가. 얕은 복사 ( 주소값 복사 ) # ==> 두개의 변수가 같은 주소를 참조하기 때문에 하나의 변수에서 값을 변경하면 나머지도 영향을 받는다.0 x = [1,2,3] x2 = x print(id(x), id(x2)) # 2426196059520 2426196059520 x[0] = 100 print(x, x2) # [100, 2, 3] [100, 2, 3] # 나. 깊은 복사 ( 실제값 복사) ==> x[:], x.copy(), list(x) x = [1,2,3] x2 = x[:] # 많이 사용되는 연산이다. 사용할때마다 매번 새로운 ..

python 2022.09.29

[numpy] numpy 2차원 색인 | 색인을 이용한 값 변경

''' 색인을 활용한 값 변경 1. 인덱싱 이용한 데이터 변경 2. 슬라이싱 이용한 데이터 변경 3. fancy 색인 이용한 데이터 변경 4. boolean 색인 이용한 데이터 변경 ''' import numpy as np arr = np.arange(10) print(arr) # [0 1 2 3 4 5 6 7 8 9] # 1. 인덱싱 이용한 데이터 변경 arr[0] = 100 print(arr) # [100 1 2 3 4 5 6 7 8 9] # 2. 슬라이싱 이용한 데이터 변경 # 가. 일반 파이썬 x = list(range(9)) print(x) # [0, 1, 2, 3, 4, 5, 6, 7, 8] # x[0:3] = 100 # broadcasting 불가 x[0:3] = [100,200,300] #..

python 2022.09.29

[numpy] numpy 2차원 색인 | 인덱싱, 슬라이싱, fangy, boolean

''' 2차원 배열(벡터) 색인 ==> 기본적으로 arr[행, 열] 형식을 따른다. ==> 파이썬은 arr[행][열] 형식을 따른다. 1) 인덱싱 2) 슬라이싱 ''' import numpy as np # 1. 인덱싱 arr = np.arange(9).reshape(3, 3) print(arr) ''' [[0 1 2] [3 4 5] [6 7 8]] ''' print("1행만 출력:", arr[0]) # [0 1 2] print("마지막행만 출력:", arr[-1]) # [6 7 8] print() print("1행의 2열 출력:", arr[0, 1]) # 1 print("2행의 마지막열 출력:", arr[1, -1]) # 5 print() # 2. 슬라이싱 print("1행의 2열부터 끝까지:", arr..

python 2022.09.29

[numpy] numpy 1차원 색인 | 인덱싱, 슬라이싱, fangy, boolean

-1차원 인덱싱, 슬라이싱 색인 ''' 1차원 배열(벡터) 색인 1) 인덱싱 ,슬라이싱 ( 기존 파이썬 문법과 동일 ) - 기본적으로 위치값을 이용 - 순방향 - 역방향 ''' import numpy as np # 1. 인덱싱 arr = np.array(["A","B","C","D","E","F"]) print(arr[0]) # 순방향 print(arr[-1]) # 역방향 # 2. 슬라이싱 arr = np.array(["A","B","C","D","E","F"]) print( arr[0:4]) # ['A' 'B' 'C' 'D'] print( arr[-5:-1]) # ['B' 'C' 'D' 'E'] print( arr[4:]) # ['E' 'F'] print( arr[:6]) # ['A' 'B' 'C' '..

python 2022.09.29

[numpy] numpy의 벡터 연산 (연산자 활용)

''' numpy의 벡터 연산 ( vectorized operation ) - 기존 파이썬에서 지원 안되던 요소간의 연산이 가능하다. - 연산 성능도 매우 좋다. - 연산 종류: 비교연산, 산술연산 지원 - 연산 대상: 다차원배열과 스칼라 연산 다차원배열과 다차원배열 연산 * 브로드캐스팅(broadcastring ) - 서로 다른 차원을 가진 다차원 배열이 연산할 때 연산이 가능하도록 차원을 맞추어 주는 작업을 의미한다. ''' # 1. 파이썬 연산 print("리스트와 스칼라 연산") x = [1,2,3] x2 = 5 print([1,2,3] * 5) print(x * x2) print("리스트와 리스트 연산") x = [1,2,3] x2 = [10,20,30] print([1,2,3] + [10,20..

python 2022.09.28

[numpy] 타입변환 dtype | astype

1. dtype 속성 ''' 타입 변환하는 2가지 방법 1. dtype 속성 2. astype 함수 ''' import numpy as np # 1. int --> float arr = np.array([10, 20, 30]) arr2 = np.array([10, 20, 30], dtype=np.float64) print(arr, arr.dtype) # [10 20 30] int32 ( 저장된 데이터를 보고 타입을 자동으로 설정 ) print(arr2, arr2.dtype) # [10. 20. 30.] float64 ( 정수를 지정했으나 dtype에 의해서 float으로 변경됨 ) print() # 2. float --> int arr = np.array([1.34, 2.5, 3.8]) arr2 = np..

python 2022.09.28