전체 글319 빅데이터 부트캠프 13일차 pandas- numpy를 내부적으로 활용- 많은 양의 데이터를 로드해서 분석하는데 최적화- 데이터분석에 특화된 데이터 구조를 제공- 다른 시스템에 쉽게 연결- import pandas as pd를 통해 pd로 사용함- 리스트 데이터를 이용하여 1차원 구조인 Series로 출력- 딕셔너리 데이터를 이용하여 2차원 구조인 DataFrame으로 출력(Series가 모여 DataFrame 형성)DataFrame- 엑셀과 같이 인덱스(index), 변수(column), 값(value)로 이루어진 pandas의 특수한 자료형.- 열백터가 기본 백터- DataFrame에서 .copy()는 기본적으로 deepcopy - 인덱싱을 이용하여 데이터 수정 가능ex) data['Name'][0] = '신짱구'- 인덱스 번호.. 2022. 7. 20. 빅데이터 부트캠프 12일차 Numpy- Numerical Python의 줄임말- 선형대수 라이브러리- 다차원 배열을 다룰 때 주로 사용- 수열 데이터를 다룰 때 용이하며 동일한 연산을 하더라도 Python에 비해 처리 속도가 빠름- import numpy as np를 통해 np로 사용함 Numpy 기본 메서드- array = 해당 시퀀스 타입 데이터를 numpy.ndarray 타입으로 변환 (dtype=으로 원소 데이터 타입 지정 가능)- array는 list와 다르게 동일한 데이터 타입의 원소만 저장 가능- arange(시작, 끝+1, 간격) = range와 비슷하게 수열데이터 생성- dtype = type 조회 - shape = 행과 열의 개수를 tuple 형식으로 출력- ndim = 해당 자료가 몇차원으로 구성되어있는지 출.. 2022. 7. 19. 빅데이터 부트캠프 11일차 클래스(Class) - 사용자가 정의하는 새로운 타입 - 클래스 명은 주로 CamelCase로 작성 (첫글자 대문자 띄어뜨기 대신 대문자) - int, bool, str, float, list, ... -> 파이썬에서 미리 만들어진 클래스 ex) find = str 클래스의 메서드 - 클래스는 붕어빵 틀, 객체는 기입하는 붕어빵 재료로 비유할 수 있음 - 인스턴스(instance) = 클래스로 만들어낸 객체 ※ 인스턴스는 a in [인스턴스] 꼴로 인스턴스 내의 데이터를 불러올 수 있음 (for문 사용시) - 메서드(method) = 클래스에서 물려받은 함수 - __init__ = 생성자 함수 = 생성할 객체의 필드의 초기값 설정 ※ __init__ 설정시 첫 매개변수는 반드시 self로 입력해야함 - .. 2022. 7. 18. heapq 사용 이유 코테에서 주어진 변수의 범위가 적당할 경우에는 기본 자료형으로도 통과하지만 범위가 1~백만 정도로 커지면 처리 시간이 매우 길어져 효율성이 떨어지기 때문에 이를 해결하기 위해 heapq(힙)이라는 모듈을 사용 파이썬에서의 힙 - 파이썬에서 힙 모듈은 완전 이진 트리(binary tree) 기반의 최소 힙(min heap) 자료구조를 제공 - 최소 힙은 원소들이 항상 오름차순으로 정렬되며 항상 최소힙의 인덱스 0번의 위치에는 최솟값 데이터가 위치 힙 함수 종류 import heapq - heappush(객체, 데이터) = 힙에 해당 데이터 추가 - heappop(객체) = 괄호안에 데이터를 입력하면 힙에서 해당 데이터 삭제 후 그 값을 출력 - heapify(리스트) = 리스트를 힙으로 변환 -.. 2022. 7. 16. 빅데이터 부트캠프 10일차 예외처리 - try = 예외가 발생할 가능성이 있는 코드 - except = 예외가 발생할 때 실행할 코드 - else = 잘 실행되면 실행할 코드 - finally = 되든 안되든 반드시 실행할 코드 - 예외처리 입력 형태(try~except는 if~else와 비슷) try: 실행시킬 코드 입력 except runtime error 종류: 해당 runtime error 발생시에 실행시킬 코드 입력 - try~except 여러번 사용 가능 - compile error = 오타와 같은 구문 오류로 발생, 에러 메시지는 뜨지만 예외처리 불가능 - runtime error = running 과정에서 생기는 에러 - Exception으로 하는 전체 처리는 가장 마지막 except에 입력해야함 2022. 7. 15. 빅데이터 부트캠프 9일차 filter - 주어진 함수에 참인것 만을 출력 ex) a = [1,2,3,4,5] list(filter(lambda x : x%2 == 0, a) -> 2, 4 enumerate - 리스트의 요소를 추출할 때 인덱스 번호를 붙여서 출력 ex) zip - 두개의 리스트를 병렬적으로 합침 reduce - 반복 가능한 객체의 각 요소를 지정된 함수로 처리한 뒤 이전 결과와 누적해서 반환 ※ 17/2을 했는데 8.5가 아닌 6.25가 나오는 이유 (a = [4,5,8]) - (4+5+8)/3이 아니라 (4+5)/2 = 4.5 -> (4.5+8)/2 = 12.5로 계산해서 모듈 - 이미 만들어진 파이썬 라이브러리 - ex) from A import B = A라는 패키지(폴더) 안에 있는 B라는 모듈(파이썬 파일.. 2022. 7. 14. 빅데이터 부트캠프 8일차 전역변수 - global = 함수 안에서만 정의된 변수를 함수 밖에서도 적용이 되도록 명령 - global은 함수에도 사용할 수 있지만 () 연산자를 제외하고 함수명만 입력해야함 재귀함수 - 정의 단계에서 자신을 재참조하는 함수 - 정의한 함수 안에 동일한 함수를 다시 한번 입력 ex) def recursive(n): if n > 3: return else: print('-') recursive(n+1) - 코딩 테스트에서 자주 쓰임!! ex) 익명함수 - 함수 이름이 X - Lambda를 활용하여 한번 사용하고 버리는 (변수명 없어도 되는) 함수를 정의할 때 사용 - (lambda 변수들 : 적용할 식)(적용할 값) ex) (lambda a, b : a+b)(10,20) -> 30 - 함수명 = lam.. 2022. 7. 13. 빅데이터 부트캠프 7일차 함수(function) - def 함수이름(변수, ...): 꼴로 함수 정의 - 파괴적인 함수 : 원본을 바꾸는 함수 ex) a = input() - 비파괴적인 함수 : 원본을 바꾸지 않고 주어진 명령으로 바뀐 결과를 출력하는 함수 ex) a.lower() - return = 지정한 값 출력후 종료 (break와 비슷) 가변인자(*) - def 함수이름(*변수): = 출력시 튜플 형식으로 출력 - 함수를 정의에 의해 실행되는 print()안에 변수가 *변수 형식으로 입력되면 각각의 독립적인 데이터로 취급 - 함수를 정의에 의해 실행되는 print()안에 변수가 변수 형식으로 입력되면 각각의 데이터를 하나의 튜플로 취급 - def 함수이름(**변수): = 출력시 딕셔너리 형식으로 출력 - ex) def p.. 2022. 7. 12. 주피터 노트북 matplotlib (나도코딩) 1 정의 - 파이썬에서 사용하는 데이터 분석 라이브러리 중 하나이며 데이터를 다양한 형태의 그래프로 시각화 하기 위해 사용 - 주로 import matplotlib.pyplot as plt로 적용하여 plt로 사용 그래프 기본 ※ import matplotlib을 통한 기본 글꼴, 기본 글자 크기 설정, 한글 깨짐 방지 - 글씨체 설정 = matplotlib.rcParams['font.family'] = 'Malgun Gothic' (맑은고딕) - 글자크기 설정 = matplotlib.rcParams['font.size'] = 15 - 한글 깨짐 방지 = matplotlib.rcParams['axes.unicode_minus'] = False - 선 그래프 = plt.plot(x, y) - 그래프 보이기 =.. 2022. 7. 11. 주피터 노트북 pandas (나도코딩) 3 데이터 정렬 - sort_values() = 지정한 데이터 기준으로 오름차순 정렬 (내림차순은 소괄호 안에 ascending=False 추가) - sort_index() = 인덱스 번호 순으로 오름차순 정렬 (내림차순은 소괄호 안에 ascending=False 추가) 데이터 추가&삭제 - replace(바꾸기 전, 바꾸기 후)를 통해 데이터 수정 가능 - 추가할 Column에 대한 조건을 제시하여 Column 추가 가능 - drop = 해당 데이터 삭제 (index와 column을 통해 행을 삭제할지 열을 삭제할지 설정 가능) 그룹화 - groupby = 해당 데이터 기준으로 데이터들을 여러 그룹으로 나눔 2022. 7. 11. 빅데이터 부트캠프 6일차 ljust와 rjust - ljust: 해당 숫자만큼 텍스트 출력 지정한 텍스트의 빈부분은 제시한 텍스트로 채움(왼쪽 정렬) ex) A = 'abc', A.ljust(5,'0') = abc00 - rjust: 해당 숫자만큼 텍스트 출력 지정한 텍스트의 빈부분은 제시한 텍스트로 채움(오른쪽 정렬) ex) A = 'abc', A.rjust(5,'0') = 00abc strip - strip = 양쪽에서 특정 텍스트 제거 (공백시 공백 제거) ex) '----------45----------'.strip('-') = 45 = '-45-'.strip('-') - lstrip = 맨왼쪽에서부터 특정 텍스트 제거 (공백시 공백 제거) ex) '-------4'.lstrip('-') = 4 = '-4'.lstrip(.. 2022. 7. 11. 주피터 노트북 Pandas (나도코딩) 2 파일 저장 및 열기 - df.to_파일형식 = 지정한 파일 형식으로 파일 저장(csv, txt, excel) - 저장 시 한글이 깨질 경우에는 df.to('파일명.파일형식', encoding='utf-8-sig' ) 필수! - txt 파일로 저장하거나 txt 파일을 열 경우에는 보기 편하기 위해 sep='\t' 적용 - df1 = pd.read_파일형식('파일명.파일형식') = 해당 파일 열기 - 파일을 열때 skiprow : 지정된 갯수만큼의 row 건너뜀, nrow : 지정된 갯수 만큼의 row만 가져옴 index_col : 해당 column을 index로 변경 DataFrame 확인 함수 - describe = 계산 가능한 데이터에 대해 Column별로 데이터의 갯수, 평균, 표준편차, 최소/최대값.. 2022. 7. 10. 주피터 노트북 Pandas (나도코딩) 1 정의 - 파이썬에서 사용하는 데이터 분석 라이브러리 중 하나이며 파이썬으로 작성된 데이터를 분석 및 조작하기 위해 사용 - 주로 import pandas as pd로 적용하여 pd로 사용 - 함수 입력시 PascalCase로 입력 Series - 1차원 데이터 (정수. 실수, 문자열 등) - A = pd.Series([]) 꼴로 리스트 형식의 데이터 객체 생성 - A = pd.Series([1, 2, 3], index=['ㄱ','ㄴ','ㄷ']) 꼴로 각 데이터에 인덱스를 지정하여 데이터를 생성할 수 있음 - dic의 key:value와 같은 방식으로 index:value라 생각하면 편리 ex) A 출력시 ㄱ 1 ㄴ 2 ㄷ 3 DataFrame 기초 - 2차원 데이터로 Series들의 모음 - DataFr.. 2022. 7. 10. 빅데이터 부트캠프 4&5일차 반복문 for while = 언제 끝날지 모를때 주로 사용 for = 얼마만에 끝날지 예상 가능할때 주로 사용 for문에서 in 다음에 입력되는 데이터 타입이 dic인 경우 key-value에서 key로 출력됨 ex) dic = {'음식':'피자', '음료':'콜라'}에서 for A in dic -> A = dic의 key인 '음식'과 '음료'를 출력 ※ set는 데이터의 순서가 없으므로 for문 사용시 range 적용 불가 하지만 set에 sorted를 적용하면 set가 list로 변환되어 range 적용 가능해짐 startswith = 지정한 텍스트가 해당 문자로 시작하는지 판별 endswith = 지정한 텍스트가 해당 문자로 끝나는지 판별 비교 연산자 ,=,==,!= : 값 자체를 비교 is, is.. 2022. 7. 7. 빅데이터 부트캠프 3일차 문자열 판별 숫자 decimal(일반 십진법 숫자) 참 ()안에 or를 사용하면 맨 앞 텍스트만 인식하지만 그 텍스트가 0이면 다음 텍스트로 넘어감 그래서 두번째 경우에는 2 in arr로 인식 -> 거.. 2022. 7. 6. 이전 1 ··· 17 18 19 20 21 22 다음