본문 바로가기
728x90
반응형

Python 파이썬59

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.
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.
python ) 함수 function 어떤 기능을 하는 코드들을 묶어 재사용하거나 알기 쉽게 하기 위해 쓴다. 기본 형태 def 함수 이름() : 문장 호출한다. '함수를 불러와서 사용한다'는 뜻 매개변수 함수 호출 시 괄호 내부에 넣는 여러 가지 자료 def 함수이름(매개변수, 매개변수, ... ) : 문장 일반 매개변수 함수에 매개변수를 반드시 넣어줘야할 때 쓴다. 만약 함수를 만들 때 매개변수의 수와 함수를 호출했을 때 매개변수의 수가 다르다면 TypeError가 발생한다. 일반 가변 매개변수( *변수명 ) 매개변수를 원하는 만큼 받을 수 있게 해준다. -> 매개변수를 생략하거나 무한히 넣을 수 있다. 가변 매개변수 뒤에는 일반 매개변수가 올 수 없다. -> 어길시 가변 매개변수가 어디부터 어디까지인지 알 수 없기 때문에 가변 매개변수.. 2022. 3. 8.
python ) 이터레이터와 제너레이터, 참조 이터러블 (iterable ; 반복할 수 있는 것) 내부에 있는 요소들을 차례차례 꺼낼 수 있는 객체 이터레이터( iterator ) 이터러블 중에서 next()함수를 적용해 하나하나 꺼낼 수 있는 요소 메모리 주소를 저장한다. C언어 포인트? print()함수로 이터레이터를 출력하면 자신의 메모리 주소를 출력한다. 저장된 메모리 주소가 아니다. yield 키워드 ( 제너레이터 ; generator ) 이터레이터를 직접 만들 때 사용하는 코드 next()함수를 사용해 함수 내부의 코드를 실행할 때, yield 키워드 부분까지만 실행하며 그 뒤에 메모리 주소를 반환한다. next()함수를 호출한 이후 yield 키워드를 만나지 못하고 함수가 끝나면 StopIteration이라는 예외가 발생한다. 제너레이터.. 2022. 3. 8.
python ) 범위 자료형 range 생성방법 range(숫자) 0부터 숫자-1까지의 정수로 범위를 만든다. range(숫자a, 숫자b) 숫자a부터 숫자b-1까지의 정수로 범위를 만든다. range(숫자a, 숫자b, 숫자c) 숫자a부터 숫자b-1까지의 정수로 범위를 만드는데, 숫자c만큼 더하면서 만든다. print(range(10)) # range(0, 10) print( list( range(10) ) ) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print( list( range(5,10) ) ) # [5, 6, 7, 8, 9] print( list( range(10, 5, -1) ) ) # [10, 9, 8, 7, 6] 활용 특정횟수만큼 for문 반복하기 for i in range(5): print(i) # 실행결과 #.. 2022. 3. 8.
python ) 딕셔너리 dictionary 키를 기반으로 값을 저장하는 자료형태 변수 = { 키: 값, 키: 값, ... } 위와 같은 구조를 가진다. 키는 문자열, 숫자, 불, 변수 등으로 선언할 수 있다. 키를 인덱스로 값을 참조할 수 있다. dict_user = { 'name': 'Jack', 'age':36 } print( dict_user[ 'name' ] ) -> Jack 할당 연산자를 이용해서 새로운 키와 값을 삽입하거나 기존 키의 값을 수정할 수 있다. del 키워드를 통해 특정 키를 지정하면 해당 요소가 제거된다. dict_user = { 'name': 'Jack', 'age':36 } dict_user[ 'job' ] = 'programer' print(dict_user) # {'name': 'Jack', 'age': 36, '.. 2022. 3. 8.
728x90
반응형