코드잇 "데이터 사이언스 입문" 수료 후기
코드잇 "데이터 사이언스 입문" 클래스를 수료했다. 만세! 기말평가는 95점을 맞았다. (무엇이 틀렸는지 알고 싶은데 안 알려주네..ㅎㅎ)
수료까지 약 2주 정도 소요됐다. 주말에 시간 내서 조금 열심히 하고 주중에 2번 정도 1시간 정도 하니까 금방 했다.
가장 시간이 오래 걸린 건 "데이터 프레임 다루기"의 마지막 퀴즈였다. 지금 생각해도 난이도가 참 높았다.
크롤링 과제도 쉽진 않았는데, 그래도 가장 어려운 과제는 데이터 프레임 다루기였다.
코드인 "데이터 사이언스 입문" 클래스는 파이썬 수업을 몇 번 들은 후 복습 용도로 듣기 좋은 수업이었다.
Datacamp처럼 퀴즈가 조금만 더 많았으면 학습에 용이하지 않았을까 하는 약간의 아쉬움이 있다.
🔥 코드잇에서 북마크한 페이지 🔥
내가 외워야 하는, 혹은 개념을 숙지해야 하는 내용이다.
파이썬을 쓰면 앞으로도 계속 기억해야 할 내용이므로 이 페이지에 정리하고 기억이 나지 않을 때마다 꺼내 쓰려고 한다.
1) 박스플롯
맥주 도수('abv') 데이터의 이상점(outlier)을 찾고, 제거하기
df.plot(kind='box',y='abv')
이상점(outlier) 구하는 식
box plot의 "box" 영역에 해당하는 25%~75% 영역을 IQR이라고 하는데, box로부터 1.5*IQR보다 위, 아래로 더 멀리 떨어져 있으면 이상점(outlier)로 취급한다.
#이상점 구하는 식
q1 = df['abv'].quantile(0.25)
q3 = df['abv'].quantile(0.75)
iqr = q3 - q1
cond = (df['abv'] < q1 - 1.5*iqr) | (df['abv'] > q3 + 1.5*iqr)
#이상점에 해당하는 값 지우기
df.drop(df[cond].index,inplace=True)
2) DataFrame 인덱싱 문법
꼭 외우기! 자주 헷갈린다. 특히, .loc을 쓰지 않고 가져올 수 있는 방법이 row와 column 별로 다르므로 신경 쓸 필요가 있다.
3) 크롤링하는 방법
큰 흐름만 이해하면 응용해서 쓸 수 있다.
CSS 선택자에 대한 이해가 미숙해 아래 링크를 참고해서 과제를 해결했다.
실제로 크롤링을 하려면 적절한 선택자를 찾느라 시간이 오래 걸릴 듯하다.
https://www.w3schools.com/cssref/css_selectors.asp
import pandas as pd
import requests
from bs4 import BeautifulSoup
# 코드를 작성하세요.
records=[]
for x in range(2010,2013):
for y in range(1,13):
for z in range(0,5):
response = requests.get("url?year="+str(x)+"&month="+str(y)+"&weekIndex="+str(z))
soup = BeautifulSoup(response.text, 'html.parser')
if len(soup.select('.row'))>1:
date = soup.select('option[selected="selected"]')
rank = soup.select('.rank')
channel = soup.select('.channel')
program = soup.select('.program')
percent = soup.select('.percent')
for i in range(1,11):
#record.append(date[i].text)
record = []
record.append(date[2].text)
record.append(rank[i].text)
record.append(channel[i].text)
record.append(program[i].text)
record.append(percent[i].text)
records.append(record)
df = pd.DataFrame(data = records, columns = ["period","rank", "channel", "program","rating"])
# 결과 출력
df.head()
4) 데이터 제공 사이트
국내 사이트
- 서울열린데이터광장 https://data.seoul.go.kr/
- 공공데이터포털 https://www.data.go.kr
- e-나라지표 http://www.index.go.kr/
- 국가통계포털 http://kosis.kr
- 서울특별시 빅데이터 캠퍼스 https://bigdata.seoul.go.kr/
- 통계청 http://kostat.go.kr/
해외 사이트
- 구글 데이터 검색 https://toolbox.google.com/datasetsearch
- 캐글 https://www.kaggle.com/datasets
- Awesome Public Datasets Github https://github.com/awesomedata/awesome-public-datasets
- Data and Story Library https://dasl.datadescription.com/
- 데이터허브 https://datahub.io/
'서비스 기획 > ☁️ 데이터 분석 공부' 카테고리의 다른 글
인당 1일 평균 영상 시청 시간 구하기 (Python) (0) | 2022.08.26 |
---|---|
영등위 API에서 등급정보 자동으로 불러오기 (0) | 2022.07.30 |
[코드잇] 2. 데이터 분석과 시각화: 타이타닉 EDA 퀴즈 (0) | 2022.07.14 |
[코드잇] 1. 데이터 프레임 다루기 (0) | 2022.07.05 |
데이터 분석 - 대검찰청의 범죄자 전과 데이터 (2019) (0) | 2022.06.13 |
댓글