NAN/Python
-
[Pandas] 기초 활용_TitanicNAN/Python 2021. 7. 3. 17:56
NaN Data 머신러닝과 같은 데이터를 이용한 작업을 할 때, 누락 데이터를 처리하는 것은 데이터 품질을 높일 뿐 아니라, 성능 향상과도 매우 밀접한 관련이 있다. NaN(Not a Number) 즉, 누락 데이터를 확인하고 처리하는 방법은 필수적으로 알고있어야 한다. seaborn으로 데이터 불러오기 seaborn에는 여러 data가 집합해있다. 약어로 sns라고 하며 이를 통해 titanic에 관련된 데이터를 불러올 수 있다. 이렇게 불러온 data는 그 양이 많아 한 눈에 담기 어려운데, 이때 사용할 수 있는 메서드가 head( ), tail( ) 함수이다. 예시에서 확인 할 수 있듯이 tail( )은 기본 값으로 data의 맨 끝에 존재하는 5개의 data를 불러온다. head( ) 메서드는 이..
-
[Pandas] Index 활용 / data 입출력 / 연산NAN/Python 2021. 7. 3. 15:59
Index 활용 행/열 추가 #dataframe 생성 test_data = {'이름':['상우','현정','문영','동엽','우제'], '국어':[85,88,90,50,70], '수학':[57,90,100,78,66], '영어':[85,89,67,98,98], '과학':[50,78,98,50,69], '체육':[94,80,99,69,100]} df = pd.DataFrame(test_data) # 새로운 열 생성하기 df['체육'] = 90 df['사회'] = [90,60,77,43,42] print(df) print() # 새로운 행 생성하기 df.loc[5] = 100 df.loc[6] = ['다니엘',90,91,50,33,80,90] df.loc['일곱'] = ['마크',77,48,78,96,11,..
-
[Pandas] 소개 / 시리즈와 데이터프레임NAN/Python 2021. 7. 2. 16:03
소개 Pandas는 파이썬 프로그래밍 언어를 위해 "높은 성능"과 "쉬운 사용"으로 데이터 구조와 분석 툴을 제공하는 오픈소스 BSD 라이선스 라이브러리이다. pandas 공식 문서의 첫 줄의 내용만으로 우리가 Pandas를 공부해야 하는 이유가 명확해졌다. 공식 문서는 제품을 구매하면 함께 오는 사용 설명서라고 생각하면 되는데, 구글링을 통해서도 나오지 않는 내용은 공식 문서 Documentation을 통해 찾아 보는것도 하나의 방법이 될 수 있겠다. import pandas as pd 먼저 numpy에서 그랬듯 pandas를 불러 오는 방법도 동일하다. import pandas as pd를 통해 pandas 사용을 선언하고 as pd를 통해 pandas 명령어를 pd로 축약하여 사용하자 pandas ..
-
[NumPy] 객체 저장 / 로드NAN/Python 2021. 7. 1. 22:31
.npy .npz .csv .txt 넘 파이 객체는. npy. npz. csv. txt 네 가지로 이루어져 있어 파일을 저장하고 로드하여 사용할 수 있다. np.save( ) 기본 형태 np.save("filename", arr) 단일 ndarray를 저장 할 때는 np.save()를 이용해. npy로 저장하여 사용한다. arr = np.array([1,2,3,4,5,6]) np.save('filename',arr) +++++++++++++++++++++++++++++++++++++++++ arr_0 =np.load('./filename.npy') print(arr_0) [1 2 3 4 5 6] np.savez( ) 하나의 파일에 둘 이상의 ndarray 객체를 저장하려면 np.savez( )를 이용해...
-
[NumPy_5] 난수 / 고유 항목 다루기 / 행렬 전치 / 배열 뒤집기 재구성NAN/Python 2021. 6. 30. 23:22
난수 생성 기계 학습 알고리즘을 구성하고 평가할 때 난수 생성은 중요한 역할을 한다. 인공 신경망의 가중치를 무작위로 초기화한다거나, 데이터를 무작위 세트로 분할하거나, 데이터 세트를 무작위로 셔플 하는 등 난수를 생성하는 일은 필수적이라고 할 만큼 많이 사용된다. np.random.randint( ) 기본 형태 np.random.randint(low, high, size=None) low : [선택 사항] int 분포에서 가져올 가장 작은 정수 값 지정 , 생략 시 0부터 high 미만의 정수 반환 high : int 분포에서 가져올 가장 큰 정수 입력 size : [선택 사항] int or int (tuple) 입력, 출력 개수 혹은 shape 결정 기본 값은 None으로 단일 값이 반환 print(..
-
[NumPy_4] 기존 데이터에서 배열 만들기 / 배열 연산NAN/Python 2021. 6. 30. 22:37
배열 쌓기, 배열 쪼개기 기본 형태 np.vstack(tuple) : 두 배열을 세로로 쌓아 하나의 배열을 만든다. np.hstack(tuple) : 두 배열을 가로로 쌓아 하나의 배열을 만든다. np.vstack(arr1, arr2)의 형태로 array가 튜플 타입으로 들어간다. 첫 번째 축을 제외하고 모두 같은 모양이어야 하고, 1차원 배열은 길이가 같아야 한다. arr1 = np.array([[1, 1],[2, 2]]) arr2 = np.array([[3, 3],[4, 4]]) arr_vstack = np.vstack((arr1, arr2)) print(arr_vstack) [[1 1] [2 2] [3 3] [4 4]] arr_hstack = np.hstack((arr1, arr2)) print(a..
-
[NumPy_3] 배열의 차원 확장NAN/Python 2021. 6. 30. 20:38
배열의 차원 확장 numpy 이를 통해 배열을 다루다 보면 종종 1차원 배열을 다차원으로 확장해야 하는 경우가 생기는데 이때 사용할 수 있는 함수를 알아보자 import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) print(arr.shape) print(arr) (6,) [1 2 3 4 5 6] 1부터 6까지의 요소를 갖는 array 이를 만들고 모양을 확인하니 (6, ) 형태가 출력되었는데, 이를 다차원 배열로 바꾸기 위해서는 numpy.newaxis 라는 기능이 필요하다. newaxis는 지정된 위치에서 축을 하나 추가함으로써 차원을 확장하는 역할을 한다. arr2 = arr[np.newaxis, :] print(arr2.shape) print(arr2) (1..
-
[ NumPy_2] 차원 크기 모양 / 다차원 인덱싱 슬라이싱NAN/Python 2021. 6. 29. 21:33
배열의 차원, 크기, 모양 앞서 소개했듯이 NumPy 이는 차원을 다루는 라이브러리이다. 차원이라는 말이 조금 낯설게 느껴지기도 하고 n차원이라는 표현에 머리가 어지러워지지만 간단하게 생각하면, 1차원은 직선 그래프, 2차원은 x와 y로 구성된 평면 그래프이고 3차원은 그 평면 그래프에 선을 하나 더 데어 박스 형태를 갖게끔 한다고 이미지화 시키면 보다 이해가 편하다. import numpy as np arr = np.array([[[0,1,2,3,4], [5,6,7,8,9]], [[10,11,12,13,14], [15,16,17,18,19]], [[20,21,22,23,24], [25,26,27,28,29]], [[30,31,32,33,34], [35,36,37,38,39]]]) print(arr) [..