데이터분석 부트캠프 3주차를 마치며..
나, 정말 큰 위기가 찾아왔다😮
문송하긴 했지만 이 정도로 이해가 안 갈 수가 있나..? 흑흑흑..
실시간 강의도 온라인 강의도... 어디서부터 잘못되었는지.. 무엇부터 보충해야하는지 모르겠다ㅠㅠ
한번도 파이썬을 배워보지 않은 사람 입장에선
초반 한시간은 abcdefg하고 스펠링 배우다가 갑자기 수능 영어독해구문을 풀어보라고 하는 느낌....
정말 더 큰 문제는 다른 사람들은 척척 다 푼다는 것이다.. 헤헤.. 나만 바봉가 헤헤...
전공자들은 4년에 걸쳐 대학생활 때 배우지만, 비전공자들은 5개월 안에 모든 과정을 끝마쳐야하니 중간 생략과정이 많은 걸까?
하루에도 수십번씩 포기할까 말까 하는 마음이 왔다갔다 하지만 일단! 일단 이해 안가도 계속 해보기로.. 몇 주 뒤에 뭐라도 할 수 있는 나를 기대하며 그나마 끄적였던 자료를 기록해본다..
(스킨 예쁘게 꾸미겠다면서 계속 미루는 나새키에게 쫌 열받지만 이번 한 주도 엉덩이 잘 붙이고 있었던 점은 칭찬하며 시작)
왜 파이썬을 배워야 할까?
1) 무료
2) 쉽고 간결
3) 생산성
4) 범용성
파이썬으로 할 수 있는 것
1) 업무자동화
2) 크롤링
3) 서비스구현(백엔드, 서버)
4) 데이터분석
5) 머신러닝
파이썬 자료형의 종류
1. 숫자형
2. 문자형
3. 리스트형
4. 튜플형
5. 딕셔너리형
6. 집합형
7. 불형
■ 숫자형
숫자로 이루어진 자료형
정수나 실수
ex) a= 1, a= -2, a= 3.14
☆숫자끼리 연산 가능
- print(a+b)
- print(a+b)
- print(a-b)
- print(a*b)
- print(a/b)
- print(a%b) - 정수 나누기 나머지
- print(a//b) - 정수 나누기 몫
- print(a**b) - 제곱
■ 문자형
문자로 이루어진 자료형
큰따옴표와 작은 따옴표로 구분
ex) a= 'hello', a= "hello"
☆이스케이프 문자
- \n : 줄바꿈
- \t : 탭
- \\ : 역슬래시
- \' : 작은 따옴표
- \" : 큰 따옴표
■ 리스트형
여러 값을 함께 모아서 저장
값을 변경할 수 있으며, 순서가 있음
ex) a= [123, 'abc', [4,5]]
■ 튜플형
여러 값을 함께 모아서 저장
값을 변경할 수 없으며, 순서가 있음
ex) a= (123, 'abc', (4,5))
■ 딕셔너리형
관련된 정보를 서로 연관 시켜 놓음
키와 값의 쌍으로 이루어져 있음
{key:value}
ex) {name:jinhee}, {anmimal,cat}
■ 집합형
집합(set)은 순서가 없고, 인덱스가 없는 모음
set()을 사용해 만들 수 있음
순서를 갖지 않으며, 중복을 허용하지 않음
ex) x=set([5,2,1]), x=set('abcde')
■ 불형(boolean)
참(True), 거짓(False)
자료형 변환
자료형끼리 변환 할 수 있는 함수가 있음
-int() : 정수형으로 변환
-float() : 실수형으로 변환
-str() : 문자열로 변환
-list() : 리스트로 변환

문자열 자료형 - 인덱싱과 슬라이싱
■ 인덱싱
문자열 내부의 문자 하나를 선택하는 연산자
문자 선택 연산자 ([ ])
대괄호 [ ] 안에는 선택할 문자의 위치를 지정하며, 이 숫자를 인덱스(index)라고 부름

■ 슬라이싱
문자열의 특정 범위를 선택할 때 사용하는 연산자
문자열 범위 선택 연산자 ([:])
문자열[인덱스1 : 인덱스2]로 호출

제어문
1. IF(조건문)
2. FOR(반복문)
3. WHILE(반복문)
4. TRY,EXCEPT(예외처리)
■ IF(조건문)
조건이 참인지 거짓인지 판단
조건에 따라 처리의 흐름을 바꿈
*콜론과 들여쓰기 주의
[기본구조]
if 조건:
실행할 명령1 (if 조건문이 참일때)
elif 조건:
실행할 명령2 (elif 조건문이 참일때)
else:
실행할 명령3 (모든if,elif 조건문이 거짓일 때)
예제)

☆비교연산자☆
- a와 b가 같다 : a == b
- a와 b가 같지 않다 : a != b
- a가 b보다 작다 : a < b
- a가 b보다 작거나 같다 : a <= b
- a가 b보다 크다 : a > b
- a가 b보다 크거나 같다 : a >= b
☆and, or 연산자☆
- a and b : 두 조건 모두 참일 경우 참
- a or b : 두 조건 중 하나만 참일 경우 참
■ FOR(반복문)
반복되는 작업을 처리하기 위해 사용
(for은 횟수를 기준으로, while은 조건을 기준으로 반복)
[기본구조]
for 변수 in 컨테이너:
실행할 명령1
실행할 명령2
예제)


★for과 함께 쓰이는 함수 range
range( num )는 0부터 num 전까지의 숫자를 나열
range( num 1, num 2)는 숫자 num 1부터 숫자 num2 전까지 숫자를 나열
range( num 1, num 2, num3)는 숫자 num 1부터 숫자 num2 전까지 num3만큼 띄어서 숫자를 나열
예제)


■ WHILE(반복문)
반복되는 작업을 처리하기 위해 사용
멈춰주지 않으면 계~~속 돌아감
(for은 횟수를 기준으로, while은 조건을 기준으로 반복)
[기본구조]
while 조건:
실행할 문장1
실행할 문장2
예제)

★for문과 while문 차이점 ★

★ while과 함께 많이 쓰이는 함수 break
반복문을 벗어날 때 사용

★ while과 함께 많이 쓰이는 함수 continue
반복문의 현재 반복을 생략할 때 사용
현재 반복 생략 > 다음 반복으로 넘어갈 때

■ TRY,EXCEPT(예외처리)
[기본구조]
try:
예외가 발생할 가능성이 있는 코드
except:
예외가 발생했을 때 실행할 코드

파이썬 함수 (def)
프로그래밍 중 반복적으로 생성되는 코드들을 재활용하여 사용하고 싶을 때 사용하며,
호출을 할 때만 실행이 되는 일련의 코드 블록을 의미
[함수구조]
def 함수명(매개변수):
실행할 문장
예제)


☆내장함수 list
Python Built-in Functions (w3schools.com)
☆외장함수 사용법
import <모듈이름>
*random함수
- random.choice(): 리스트의 값 중 하나를 랜덤하게 선택
- random.sample(): 리스트의 값 중에서 지정한 개수만큼 랜덤하게 선택
- random.randint(): 특정 범위의 정수 중 하나를 랜덤하게 선택


클래스
파이썬은 객체지향 프로그래밍 (OOP, Object Oriented Programming)을 지원한다. 그리고 객체지향 프로그래밍의 가장 기본 단위가 클래스
하나의 틀과 같은 역할을 하며, 데이터 저장도 가능
ex) 붕어빵을 만들어 내는 틀 - 팥을 넣으면 팥붕어빵, 슈크림 넣으면 슈크림 붕어빵, 피자 재료를 넣으면 피자 붕어빵
*함수가 특정 기능을 수행하는 일련의 코드블록을 나타내는데, 클래스는 함수보다는 더 큰 개념. 함수가 여러개 모아놓은 것.

변수 → 함수 → 클래스 → 모듈 → 라이브러리
*quiz타임* 내가 푼거 > 정답풀이





크롤링을 위한 준비_셀레늄 설치
나는 이미 깔려있는 프로그램이 있어서 오류 없이 잘 열렸는데, 다른 사람들은 꽤나 고생한 걸로 보인다..
강사님이랑 서로 화면 캡쳐하면서 프로그램 설치에만 30~40분은 걸린 거 같다...
* 구글 버전 확인 > 구글 드라이버, 셀레늄 설치 (하기 코드들만 쥬피터 노트북 입력하면 끝! 간단!)
* 마지막 코드 입력 후 크롬 브라우저 열리면 성공

수업시간 크롤링 예시로 네이버 날씨 브라우저 열었다


(밑 줄 친 글자가 나와야 셀레늄에서 열린 거)
* 몇 도 인지에 대한 정보를 불러오기!
★F12 개발자 도구 선택 > 네모친 화살표시 선택 후, 왼쪽 창에 있는 날씨 클릭하면 이를 나타내는 요소가 어딘지 아래처럼 파란색으로 표시됨 > class 이름이 current인거 확인 후 쥬피터노트북으로!

★ 하기 코드 입력하면 위 네이버 날씨 현재 온도 가져올 수 있음

3주차 실시간 강의 크롤링은 여기까지!
dataframe과 series 이해하기
■ Pandas란
쉽고 직관적으로 작업할 수 있도록 설계되었고, 빠르고 유연한 데이터 구조를 제공하는 파이선 패키지
■ 주요기능
데이터의 빠른 정렬, 슬라이싱, 인덱싱
데이터 그룹핑, 피봇팅 유리
데이터 요약, 통계에 많이 쓰임
파이썬 자료구조와 호환 가능
외부데이터 다루기 용이
■ Pandas 불러오기
import pandas as pd
■ Series 이해하기
pandas에서 사용하는 일종의 리스트
-딕셔너리로 시리즈 만들기

-리스트로 시리즈 만들기

*인덱스를 따로 설정하지 않으면 자동으로 0부터 인덱스가 부여

-> Series를 이어붙여 표 형태로 만들면 Dataframe이 된다.

-딕셔너리로 데이터프레임 만들기
열 단위로 값을 입력할 때 딕셔너리를 이용
값의 길이가 모두 같지 않으면 에러

- 리스트로 데이터프레임 만들기
행 단위로 값을 입력할 때 리스트를 사용
각 리스트의 길이가 같지 않으면 에러

- 시리즈 결합해서 데이터프레임 만들기

■ 데이터프레임 요약 정보 확인
info(): 전체 행의 갯수, 컬럼 정보, 결측치, 데이터 타입
describe(): 컬럼별 값의 갯수, 평균, 표준편차, 최솟값, 최댓값, 사분위수
----------------------------------------끝-------------------------------------------
빵쩐시, 정리하고 나서 돌아본 나의 3주차 학습.
나 너무 위기다😂 진짜 모르겠는데 어쩌지.. 어디서부터 뭘 해야할지를 모르겠구만 허허...
9월은 나에게 위기의 달... 일단 일단 배운거는 다 외워보는 걸로..☆
(6개월 뒤의 나, 지금 포기 안한거 잘 했다고 꼭 칭찬해라ㅠ)
이번 주말에는 온라인 강의 다시 돌려보면서 기초문법이라도 나온 건 다 외워보기. 예제 문제도 외우기.

'패스트캠퍼스🥕' 카테고리의 다른 글
| ■패스트캠퍼스 데이터 분석 부트캠프■ 5주차 #python 라이브러리 (6) | 2024.09.20 |
|---|---|
| ■패스트캠퍼스 데이터 분석 부트캠프■ 4주차 #python 크롤링/전처리/시각화 (3) | 2024.09.13 |
| ■패스트캠퍼스 데이터 분석 부트캠프■ 2주차 #데이터 분석을 위한 기초 수학/통계 (0) | 2024.08.30 |
| ■패스트캠퍼스 데이터 분석 부트캠프■ 1주차 #엑셀을 활용한 데이터 분석 (0) | 2024.08.23 |
| 패스트캠퍼스 데이터 분석 부트캠프 OT 후기 (16기) (0) | 2024.08.19 |