TIL & WIL/Python
5주차 화요일. <데이터 분석> TIL
니츄
2023. 1. 18. 18:26
※ Jupyter localhost 실습의 장점
- 오프라인에서도 사용 가능
- 데이터 파일 등을 매번 로드할 필요 없음
- 주피터노트북의 서버를 끄지 않는 이상 다시 실행할 필요가 없다.
- 라이브러리를 한 번 설치하면 노트북을 새로 열 때마다 설치하지 않고 import만 해서 사용할 수 있음.
- 좋은 성능의 컴퓨터라면 colab보다 빠르게 사용할 수 있음.
※ Jupyter Notebook 자주쓰는 단축키
- 실행모드(ESC) : 커서가 사라짐.
- a : 위에 셀이 생성
- b : 아래에 셀이 생성
- dd : 셀 삭제
- m : 마크다운 셀로 변경
- y : 코드셀로 변경
- 편집모드(Enter) : 커서가 생김
- shift + Enter : 셀 실행 + 다음 셀로 이동
- ctrl + Enter : 셀 실행 + 이동x
※ 웹크롤링을 위해 필요한 라이브러리
- time : 간격을 두고 데이터를 가져오기 위해 사용
- pandas : 파이썬에서 사용할 수 있는 엑셀과 유사한 데이터분석 도구
- numpy : 파이썬에서 사용할 수 있는 공학용 계산기
- requests : 매우 작은 브라우저로, 웹사이트의 내용과 정보를 불러옴.
- BeautifulSoup : requests로 가져온 웹사이트의 html 태그를 찾기 위해 사용.
※ 웹크롤링의 순서
- URL 불러오기
- pandas.read_html을 통해 해당 URL의 table 정보 불러오기
- requests로 웹페이지의 결과 받아오기
- BeautifulSoup로 html 태그 파싱해오기
- BeautifulSoup의 select 기능으로 상세 정보 수집을 위해 링크정보 찾기
- 링크정보 가져오기
- 웹페이지 번호 or 내용번호 수집하기
- 컬럼을 생성하고 수집한 번호를 리스트 형태로 만들기
- 오류 대처 및 반환값 지정.
※ try - except 구문 'try'의 위치는?
- 맨 위에 작성 : 어떤 오류든 대처 가능하기 때문에 오류를 줄이는데 도움이 됨.
- 오류가 날만한 곳 위에 작성 : 어떤 상황에서 오류가 날지 예측이 안되거나 예외상황시 작성.
- 단, 예외 관련 문구를 디테일하게 작성하지 않으면 어떤 오류인지 찾기 어려움.
※ list comprehension
- 반복문 사용시 대신 사용하여 코드를 한 줄로 끝내줄 수 있음.
- enumerate는 인덱스 활용까지 필요한 경우 사용하기.
※ set_index()
- 데이터 프레임의 인덱스를 지정하는 방법
- 특정 열을 index로 사용
※ transpose() == T
- 전치행렬을 만드는 방법