에이블 스쿨 2일차 TIL - python(1)

GO-TE·2024년 2월 24일
0

AIVLE-SCHOOL

목록 보기
2/6
post-thumbnail

들어가기 앞서...

반갑습니다 여러분 아침 일찍 일어나는 것은 힘들군요.
졸린 눈 부비적 거리고 아침에 어제 사온 핫식스 한캔 마셨습니다.
파이썬 기초부터 시작하는지라 입문하기도 쉽게 강사님이 설명해주시더라구요
사실 파이썬은 학교에서 많이 쓰고 들은지라 좀 쉬엄 쉬엄 들었습니다.
그래도 정리하는 것이 기특하지 않습니까? 아님 말고

2일차도 시작하겠씁니다.


Python & library (1)

Chapter 1. Jupyter Notebook

window 환경 사용 - mac os는 잘 헤쳐나가길 (그건 본인 얘기였구요 ㅋㅋ)
anaconda3가 깔린 상태에서 터미널에서 jupyter lab 입력 -> 브라우저에서 실행 됨

  • 셀 선택, 편집 모드 / 선택 모드 진입
    마우스 클릭, 방향키 등 직관적으로 이해
    편집 모드에서 나오려면 셀을 실행 해야 된다.
  • 셀을 실행하는 방법
    • Alt ⌥ + Enter : 셀 실행 후 빈 셀 생성 및 이동
    • Ctrl ⌘ + Enter : 셀 실행 후 편집모드 나오지 않음
    • Shift ⇧ + Enter : 셀 실행 후 다음 셀로 이동 (선택모드 진입) 없다면 빈 셀 생성
  • 셀 종류
    • 코드 셀: python code 실행 하는 셀
    • 마크다운 셀 : 설명문 등 입력하는 셀
    • 마크다운셀로 전환 : m
    • 코드셀로 전환 : y
    • Shift ⇧ + L : 코드 셀 라인 별 번호 생성
    • Ctrl ⌘ + / : 라인 주석 처리 (드래그 되있는 라인)

Chapter 2. 자료형

  • 여러 값을 저장하는 변수
    • List : 여러 값을 나열 식으로 저장 관리하는 변수
    • Dictionary : 값들을 구조화 (키와 값)하여 저장 관리하는 변수
    • tuple : 좌표, 순서쌍같이 을 저장 관리하는 변수 (원소 변경 불가)
    list_sample1 = ["이게", "리스트입니다"] # List 변수
    dict_sample1 = {1 : "첫번째", 2 : "두번째"} # Dictionary 변수
    tuple_sample = (1,2,3,4,5) # tuple 변수

본인도 처음 안 jupyter 꿀팁

그냥 저 상태에서 괄호를 입력(Shift ⇧ + 9)하면
드래그 된 부분 괄호로 묶어준다 print(listrange(1,10)) << 이렇게


Chapter 3. 조건문과 반복문

  • 데이터분석 및 모델링을 수행하다보면 데이터 처리 절차(흐름)을 제어해야 하는 경우가 종종 발생
    • 조건에 따라 다르게 처리
    • 조건에 충족될 때까지 반복 처리
  • bool 연산자
    • 주어진 조건을 평가하여 참 또는 거짓의 결과를 반환하는 연산자
    • 결과 : True / False
  • 비교 연산자(조건문)
    • == 같은가? 같으면 True 다르면 False
    • != 같지 않은가? 같으면 False 다르면 True
  • 논리 연산자
    • and : 양쪽이 둘 다 참일 때만 참. (&)
    • or : 둘 중 하나만 참 이어도 참. (|)
    • not : 논리 값의 반대. (!)
  • 조건 제어
    if 조건문1 : 
    	실행할 작업
    elif 조건문2 :
    	실행할 작업
    else :
    	위 모든 if문들이 False면 실행할 작업
  • 반복문
    for i in range(0, 10): # for문
    	반복할 작업
    
    while 조건문: # while문 조건문이 True일 때 실행
    	반복할 작업

Chapter 4. 함수

함수는 수학의 함수 생각하면 쉬움

def hello(name, loud = 1) :
    if loud == 1 :
        print('HELLO ' + name + ' ~!!!')
    else :
        print('Hello ' + name + ' ~~~')

hello(name = 'Han', loud = 0) # 매개변수 이름과 입력값
hello(name = 'Han')           # 기본값 지정 매개변수 생략 default 값
hello('Han')                  # 기본값 지정 매개변수 생략
hello('Han',0)                # 입력매개변수 이름 생략
hello(loud = 0, name = 'Han') # 입력값 순서 바꾸기

함수를 사용할 때 여러 개의 매개변수를 받는데 정확히 몇개를 입력 받을지 모를 때

def function1 (*inputIntValues) :
	return sum(inputIntValues)

입력받은 매개변수는 tuple로 받기 때문에 매개변수를 sum() 가능하다.

비슷한 결로 여러 output을 받을 때

def function2():
	return output1, output2
# 원하는 output만 받고 싶을 때 (output1)
r1, _ = function2()
r1 = function()[0]
  • 함수의 결과를 출력하는 방법 두가지
    • print : 화면에 출력만 수행
    • return : 화면 출력 + 함수 외부로 결과 반환(진짜 output)
      • 결과를 별도 변수에 저장하면, 화면 출력은 생략됨
      • 함수는 return을 만나면 종료됨
  • 예외 처리
    try : 
    	실행할 작업
    except :
    	예외 처리 됐을 때 처리할 작업
    else : 
    	예외가 나지 않았을 때 처리할 작업
    finally :
    	정상, 예외 상관없이 무조건 실행하는 작업

Chapter 5. 데이터 분석/모델링을 위한 데이터 구조

모르면 외워

  • 데이터 분석의 큰 그림 : CRISP-DM

비즈니스의 이해 - 데이터의 이해 - 데이터 준비 - 모델링 - 평가 (만족스럽지 못하면 다시 처음으로) - 전개 (배포)

이 흐름 대로 에이블 스쿨이 짜여져 있음 !

  • 분석할 수 있는 데이터

데이터에 따라 분석하는 방법도 다르다.

💡 범주형 - 묶음, 공통된 특징이 있다.
수치형 - 정량된 단위가 있음 → 사칙연산이 자연스러움 (kg, ml 등)

비즈니스 관점이 중요함 (도메인 지식)…

면접 TIP
위 방법론에 따라 플젝도 하고,,, 면접도 하고,,, 이처럼 웬만하면 실무에서도 CRISP-DM 쓴다.


마무리

다음주 부터는 밀리는 일이 없을겁니다. 1일차 정리하는데 너무 오래걸렸어요

Reference
aivle school 강의 자료 슬쩍 캡쳐

profile
늘 배우는 자세로

0개의 댓글