본문 바로가기

Python/Pandas & numpy47

Numpy 배열연산1 □ 사칙연산 arr1 = np.array([[1,2,3,4,5],[6,7,8,9,10]]) arr2 = np.array([[2,2,2,2,2],[2,2,2,2,2]]) print(f"2차원배열 arr1 : {arr1}") print('\n') print(f"2차원배열 arr2 : {arr2}") print('\n') print(f"arr1+arr2 : {arr1+arr2}") print(f"arr1+arr2 : {np.add(arr1,arr2)}") print('\n') print(f"arr1-arr2 : {arr1-arr2}") print(f"arr1-arr2 : {np.subtract(arr1,arr2)}") print('\n') print(f"arr1*arr2 : {arr1*arr2}") print.. 2024. 3. 9.
Numpy 인덱스 번호를 활용한 원소 출력 □ 1차원 배열 #1차원 배열 arr = np.array([0,1,2,3,4,5,6,7,8,9]) print(arr) print(arr[3]) print(arr[-1]) □ 2차원 배열 #2차원 배열 인덱싱 arr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]) print(arr) print("\n") print(arr[2,2:]) print("\n") print(arr[:,1]) print("\n") print(arr[:3,:2]) □ 응용 #1차원 배열 arr = np.array([5,10,15,20,25,30]) print(arr[[0,2,4]]) #0번째, 2번째, 4번쨰 인덱싱추출 #2차원 배열 arr = np.array([[5,10,15,20],[25,30,.. 2024. 3. 8.
Numpy 특정범위로 N차원 배열생성 □ arange : 특정범위의 값을 가지는 N차원 배열 #0~9 범위에서 2씩 커지는 값으로 배열 생성 : 미만 a = np.arange(0,9,2) print(a) b = np.arange(start=3, stop=21, step=3) print(b) □ linspace(시작값, 끝값, 원소개수) : 특정범위의 값을 균등하게 배열생성 arr = np.linspace(0,20,30) □ logspace(시작값, 끝값, 원소개수, base=값) arr = np.logspace(1,10,10, base=2) □ 난수로 N차원 배열생성 및 히스토그램 arr = np.random.normal(0, 1, 10000) #0~1까지 10000개의 원소 생성 plt.hist(arr,bins=100) □ Seed을 통한.. 2024. 3. 8.
Numpy 정해진 방식으로 N차원 배열생성 □ .zeros : 모든 원소 0으로 지정 □ .ones : 모든 원소 1로 지정 □ .full([행,열], 지정값) : 모든 원소 특정값으로 지정 □ .eye(행,열, k=시작위치 인덱스번호) : k번째로부터 대각선으로 1인 행렬 □ .zros_like(변수명) : 지정된 배열 원소값을 모두 0으로 변경 □ .ones_like(변수명) : 지정된 배열 원소값을 모두 1로 변경 □ .full_like(변수명, 특정값) : 지정된 배열 원소값을 모두 특정값으로 변경 #모든 배열 값을 0으로 설정 arr = np.zeros([2,2]) print(f".zero : {arr}") print('\n') #모든 배열 값을 1로 설정 arr = np.ones([4,4]) print(f".ones : {arr}") .. 2024. 3. 8.
Numpy 타입지정 □ 타입지정 : dtype = 타입 #데이터 타입지정 dtype arr1 = np.array([1,2,3,4,5], dtype=float) print(f"배열 및 타입확인 : {arr1}, {arr1.dtype}") arr2 = np.array([1.1,2.2,3.3,4.4,5.5], dtype=int) print(f"배열 및 타입확인 : {arr2}, {arr2.dtype}") arr3 = np.array([0,1,0,1,1,1,0], dtype=bool) print(f"배열 및 타입확인 : {arr3}, {arr3.dtype}") □ 타입지정 : dtype = 타입 #데이터 타입변경 astype arr1_1 = arr1.astype(np.float32) print(f"arr1 타입 :{arr1.dty.. 2024. 3. 8.
Numpy 차원 * 배열 원소개수 확인 : 배열명.size * 배열 행과열 확인 : 배열명.shape * 배열 차원 확인 : 배열명.ndim * axis=0 행방향 * axis=1 열방향 □ 1차원 배열(axis = 0) : Vector = array # 배열 one_array_1 = np.array([1,2,3,4,5]) print(f"배열확인 : {one_array_1}") print(f"배열타입 : {type(one_array_1)}") print(f"배열행과열 : {one_array_1.shape}") print(f"배열차원 : {one_array_1.ndim}") #차원확인 print(f"배열원소개수 : {one_array_1.size}") #원소개수 확인 print('\n') one_array_2 = np.a.. 2024. 3. 6.
Numpy Intro □ “Numerical Python” 의 약자로 대규모 다차원 배열과 □ 행렬 연산에 필요한 다양한 함수 제공 □ NumPy는 Pandas, Scikit-learn, Tensorflow등 데이터 사이언스 분야에서 사용되는 라이브러리들의 토대가 되는 라이브러리 □ 기본적으로 array 라는 단위로 데이터 관리하며, 행렬이라는 개념으로 생각하면 됨 ○ 배열(array) : 컴퓨터에서 일반적으로 사용하는 개념으로 수를 포함한 어떤 데이터의 묶음을 의미. ○ 벡터(vector) : 1차원으로 묶은 수를 수학에서 벡터(vector)라 부르며 행만 구성된 것을 행백터, 열만으로 구성된 것을 열벡터라 부름 ○ 행렬(matrix) : 2차원으로 묶은 수를 수학에서 행렬(matrix)이라 부르고, 우리가 알고있는 수많은.. 2024. 3. 6.
Datetime & pd.to_datetime □ Dataetime ○ 호출 라이브러리 from datetime import datetime ○ KST kst_time = datetime.now() ○ UTC utc_time = datetime.now() ○ 시간별도지정 sample = datetime(1990,1,1) ○ 시간연산 kst_time = datetime.now() # kst시간 sample = datetime(1990,1,1) # 시간지정 result = kst_time - sample print(result) ○ 시간 표시형식 #YYYY-mm-dd 추출 nowDate1 = kst_time.strftime('%Y-%m-%d') #YY-mm-dd 추출 nowDate2 = kst_time.strftime('%y-%m-%d') #YYYY-m.. 2024. 2. 16.
판다스 : 전처리 기본 함수 요약모음 ○ 인덱스 유 데이터프레임 생성: pd.DataFrame({키:벨류}) df1 = pd.DataFrame( { '미국' : [2.1,2.2,2.3], '한국' : [0.4,0.5,0.45], '중국' : [10,13,15] } ) ○ 인덱스 무 데이터프레임 생성 : pd.DataFrame({키:벨류}, index = [인덱스값]) df2 = pd.DataFrame( { '미국' : [2.1,2.2,2.3], '한국' : [0.4,0.5,0.45], '중국' : [10,13,15] }, index = [1000,2000,3000] ) ○ 인덱스 조회 : 변수명.index df2.index ○ 인덱스 변경 : 변수명.index[변경값] df2.index=[3000,4000,5000] ○ 신규 컬럼추가 및 해.. 2024. 2. 11.