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 태그를 찾기 위해 사용.

 

 

 ※ 웹크롤링의 순서 

  1. URL 불러오기
  2. pandas.read_html을 통해 해당 URL의 table 정보 불러오기
  3. requests로 웹페이지의 결과 받아오기
  4. BeautifulSoup로 html 태그 파싱해오기
  5. BeautifulSoup의 select 기능으로 상세 정보 수집을 위해 링크정보 찾기
  6. 링크정보 가져오기
  7. 웹페이지 번호 or 내용번호 수집하기
  8. 컬럼을 생성하고 수집한 번호를 리스트 형태로 만들기
  9. 오류 대처 및 반환값 지정.

 

 

 ※ try - except 구문 'try'의 위치는? 

  • 맨 위에 작성 : 어떤 오류든 대처 가능하기 때문에 오류를 줄이는데 도움이 됨.
  • 오류가 날만한 곳 위에 작성 : 어떤 상황에서 오류가 날지 예측이 안되거나 예외상황시 작성.
  •                                             단, 예외 관련 문구를 디테일하게 작성하지 않으면 어떤 오류인지 찾기 어려움.

 

 

 ※ list comprehension 

  • 반복문 사용시 대신 사용하여 코드를 한 줄로 끝내줄 수 있음.
  • enumerate는 인덱스 활용까지 필요한 경우 사용하기.

 

 

 ※ set_index() 

  • 데이터 프레임의 인덱스를 지정하는 방법
  • 특정 열을 index로 사용

 

 

 ※ transpose() == T 

  • 전치행렬을 만드는 방법