본문 바로가기
728x90
반응형

전체 글194

numpy ) 배열 array 형 변환 .reshape( *shape ) shape로 배열모양을 변환시킨다. 단, 변환 전후의 크기(요소의 갯수)는 같아야 한다. reshpe은 참조값을 반화한다. a = np.arange(20) # 0~19까지 print(a.ndim) # 1 print(a.shape) # (20,) print(a.size) # 20 print(a) # [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19] a1 = a.reshape(4,5) # 3행 5열로 만들어 넣는다. a[0] = 100 print(a1.ndim) # 2 print(a1.shape) # (4, 5) print(a1.size) # 20 print(a1) #[[ 100 1 2 3 4] # [ 5 6 7 8 9] # [1.. 2022. 3. 19.
numpy ) 배열 array 연산 브로드캐스팅 (Broadcasting) 일정 조건을 부합하는 다른 형태의 배열끼리 연산을 수행하는 것 요소를 흩뿌리듯이 계산된다. x1 = np.array([1.0, 2.0, 3.0]) y1 = np.array([5.0, 10.0, 15.0]) x2 = np.array([[1.0, 2.0], [3.0, 4.0]]) y2 = np.array([[5.0, 10.0], [15.0, 20.0]]) z1 = np.array([-1.0, -2.0]) z2 = np.array([[5.0], [10.0], [15.0]]) # x1과 상수 print(x1 + 2) # [ 3. 4. 5.] # x1과 y1 print(x1 + y1) # [ 6. 12. 18.] # x2과 y2 print(x2 - y2) # [[ -4. -.. 2022. 3. 19.
numpy ) 배열 array 생성 np.array([]) 1차원 배열 생성 x1 = np.array([1.0,2.0,3.0]) x2 = np.array([5.0,10.0,15.0]) print(x1,x2) print(type(x1),type(x2)) # 실행결과 # [1. 2. 3.] [ 5. 10. 15.] # 2차원 배열 생성 y1 = np.array([[1.0,2.0],[3.0,4.0]]) y2 = np.array([[5.0,10.0],[15.0,20.0]]) print(y1); print() print(y2) print(type(y1),type(y2)) # 실행결과 # [[1. 2.] # [3. 4.]] # [[ 5. 10.] # [15. 20.]] # 리스트를 넘파이 배열로 a_list = [1.0,2.0,3.0] a_np = .. 2022. 3. 18.
numpy ) 넘파이 개요 개요 다차원 배열이나 행렬고 수학 함수를 지원하는 파이썬 패키지이다. 벡터화 연산(Vectorized operation)을 이용하여 간단한 코드로도 복잡한 선형 대수 연산을 수행해준다.. 배열 인덱싱을 사용한 질의(Query) 기능을이용하여 간단한 코드로도 복잡한 수식을 계산해준다. 핵심 부분이 C, C++(cpp)과 같은 저수준 언어로 개발되어서 빠르고, 데이터 과학 분야에 알맞게 최적화되어 있다. 속성 (멤버, 메소드) numpy.arange([start,] stop, [step,] dtype=None) 0(또는 start)부터 stop까지 1(또는 step)만큼 증가하며 1차원 배열을 만든다. ndarray.ndim 차원 수 ex) 1차원 배열(vector; 벡터), 2차원 배열(matrix ; 매.. 2022. 3. 18.
아나콘다 가상환경, IPython커널 설정 가상환경 이름을 변경하는 기능이 없기 때문에 이름을 변경하려면 가상환경을 복사하고 기존의 가상환경을 삭제하면 된다. # 가상환경 생성 conda create -n 가상환경이름 [python=버전] # 가상환경 목록보기 conda env list # 가상환경 복사 conda create -n 가상환경이름 --clone 기존가상환경이름 # 가상환경 삭제 conda remove -n 가상환경이름 --all # 가상환경 활성화 conda activate 가상환경이름 # 가상환경 비활성화 conda deactivate ###################### # 패키지 설치 conda install 패키지명[==버전] # 패키지 삭제 conda uninstall 패키지명 # 아나콘다가 관리하는 패키지 목록보기 c.. 2022. 3. 16.
pandas ) I/O 도구 Input 가져오기 CSV (Comma-Separated Values) 쉼표( ,)로 열을 구분하고 줄바꿈으로 행을 구분한다. # read_csv_sample.csv c0,c1,c2,c3 0,1,4,7 1,2,5,8 2,3,6,9 import pandas as pd # csv 파일 read : pd.read_csv(파일명, 옵션, ...) # dataset/read_csv_sample.csv 파일을 읽어 옴 file_path = './dataset/read_csv_sample.csv' df = pd.read_csv(file_path) print(df) print(df.columns); print() print(df.index) 실행결과 c0 c1 c2 c3 0 0 1 4 7 1 1 2 5 8 2 2 3 .. 2022. 3. 15.
머신러닝에 유용한 데이터셋 소스 20220509 1. 사이킷런(scikit-learn), 시본(seaborn) 등 파이썬 라이브러리 제공 데이터셋 2. 캐글(kaggle): https://www.kaggle.com Kaggle: Your Machine Learning and Data Science Community Kaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals. www.kaggle.com 3. UCI 머신러닝 저장소 ( uci dataset - 구글검색) : https://archive.ics.uci.edu/ml/datasets.php 4. 공공 데이터 (해외) Wo.. 2022. 3. 14.
pandas ) 자료구조 데이터프레임 DataFrame 데이터프레임 DataFrame #데이터프레임 : 여러 개의 시리즈가 모여서 만들어짐 # 딕셔너리의 키는 컬럼명(시리즈 이름)이 됨 # pandas.DataFrame(딕셔너리, index = 행이름, columns= 열이름) dict_data = {'c0':[1,2,3],'c1':[0,9,8],'c2':[4,5,6],'c3':[7,8,9]} df = pd.DataFrame(dict_data) # 데이터프레임 생성 print(df); print() print(df.columns, df.index); print() # 컬럼명, 인덱스명 출력 df.index = ['a','b','c'] # 인덱스명 변경 print(df); print() print(df.columns, df.index); print() df.c.. 2022. 3. 14.
pandas ) 자료구조 시리즈 Series 시리즈 Series # 판다스의 시리즈 import pandas as pd a_series = pd.Series({'a':10,'b':20,'c':30,'d':40, 'e':30}) # 딕셔너리의 키가 인덱스명, 값이 value print(a_series) print(type(a_series)) 실행결과 a 10 b 20 c 30 d 40 e 30 dtype: int64 시리즈의 데이터 선택 # 시리즈의 데이터 선택 : 시리즈명[] -> 인덱스명 또는 인덱스 첨자 print(a_series.index, a_series.values); print() print(a_series.value_counts()); print() # 값의 종류와 갯수 print(a_series['a'], a_series[0]); p.. 2022. 3. 14.
python ) 클래스 class 객체를 쉽고 편리하게 생성하기 위해 만들어진 구문 구조 class 클래스명 : 인스턴스 클래스를 기반으로 생성한 객체 생성자 인스턴스를 생성할 때 호출되는 함수 소멸자 인스턴스가 삭제될 때 호출되는 함수 class Test : def __init__(self) : print( '생성되었습니다.' ) def __del__(self): print( '소멸되었습니다.' ) test = Test() # 생성되었습니다. 출력 # test는 Test클래스의 인스턴스가 되었다. print( type(test) ) # # 이제 더이상 test가 쓰이지 않고 프로그램이 종료되므로 # 소멸되었습니다. 출력 멤버(변수)와 메소드(함수) class Student: def __init__(self, name, kor, eng,.. 2022. 3. 11.
python ) 모듈과 패키지 모듈 가져오기 import 모듈명(모듈명.클래스) import 모듈명 as 사용하고 싶은 식멸자 from 모듈명 import 가져오고 싶은 변수 또는 함수 from 모듈명 improt * -> 모든 변수 또는 함수. **모든 것을 가져오면 식별자 이름에서 충돌이 발생할 수 있다. import math print(math.sin(1)) # 0.841470...... print(math.ceil(2.5)) # 3 print(math.floor(2.5)) #2 import math as m print(m.sin(1)) # 0.841470...... print(m.ceil(2.5)) # 3 print(m.floor(2.5)) #2 from math import sin, ceil, floor print(sin(1.. 2022. 3. 11.
python ) 예외 오류 처리 try 구문 오류 SyntaxError 구문에 문제가 있으면 프로그램이 실행조차 되지 않는다. 예외 처리 불가능 런타임 오류 Execption을 최상위 클래스로하는 하위 클래스 ValueError, TypeError, IndexError 등등 프로그램 실행 중에 발생하는 오류 예외 처리 방법 if 빠르다 모든 오류를 예상하여 처리하기 힘들다 input_data = input('정수 입력:') if input_data.isdigit() : int_data = int(input_data) else : print('정수만 입력해주세요!!') try if보다 느리지만 큰 차이는 아니다 모든 오류를 처리할 수 있다. 구조 try: 오류가 발생할 가능성이 있는 코드 except : 오류 발생시 처리할 코드 except V.. 2022. 3. 11.
728x90
반응형