본문 바로가기
멋쟁이사자처럼 AI School 8기(fin)/TIL(Today I Learn)

[멋쟁이사자처럼 AI스쿨 8기] Day17 TIL

by #FF0000 2023. 1. 18.

 

ㅁ python 명령문 시간측정

  • %time: 단일 명령문의 실행 시간
  • %timeit: 정확도 향상을 위해 단일 명령문을 반복적으로 실행하는 시간
  • %prun: 프로파일러로 코드 실행
  • %lprun: 라인별 프로파일러로 코드 실행
  • %memit: 단일 문장의 메모리 사용량 측정
  • %mprun: 라인별 메모리 프로파일러로 코드 실행

 

ㅁ select & find & find_all 속도 비교

  • find > find_all > select

 

ㅁ map&apply

  • map, apply 는 pandas의 메서드 
    • 반복문 대신 사용(속도가 빠름).  but 다수 작업 수행 시  진척도 파악 어려움. -> tqdm 사용
    • progress_map(), progress_apply() tqdm : 판다스를 지원, 진행상태 표시.

 

 

ㅁ list & tolist :  리스트 형태로 변경

  • list(view_detail) => 파이썬 표준 라이브러리 사용
  • view_detail.tolist() => 판다스 사용

 

ㅁ merge & join

  • merge : 컬럼, 인덱스를 기준으로 병합
  • join, concat : 인덱스 기준으로 병합
  • how="left" : 내용번호가 중간에 누락되어 수집 되지 않은 건이 있다면 결측치로 보이게 함.
  • how="right" : 내용번호는 수집 되었지만 목록에 없는 경우 목룍 내용이 결측치로 보이게 함.

 

ㅁ json(JavaScript Object Notation)

  • 속성-값 쌍(attribute–value pairs), 배열 자료형(array data types) 또는 기타 모든 시리얼화 가능한 값(serializable value)
  • 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 
  • 개방형 표준 포맷
  • 비동기 브라우저/서버 통신 (AJAX)을 위해, 넓게는 XML(AJAX가 사용)을 대체하는 주요 데이터 포맷이다. 특히, 
  • 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법
  • 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는 데 적합. - 위키백과

 

Q. ETF 페이지를 수집시 check_point.

  • 수집하는 데이터의 태그명
  • table tag => pd.read_html()
  • 수집 x => requests (get/post)
  • requests 요청을 보내기 위한 주소를 Network 에서 확인
  • URL => Preview 로 봤을 때 해당 데이터가 있는지 확인

 

ㅁ API를 사용하는 이유

  • 허가된 인원에게 정보를 제공, 누가 수집해 갔는지 파악 
  • 유료로 데이터 판매 시 데이터 용량 등에 따른 과금
  • 공공데이터 - 실시간성으로 제공하고자 하는 데이터의 경우 예) 부동산실거래가 정보 등
  • 특정 사이트에 무리하게 네트워크 요청시 서버에 무리가 갈 수 있습니다.

   cf) 만약에 50명이 특정 카페24의 작은 쇼핑몰에 요청을 한번에 보내면 서버를 다운시킬 수도 있습니다.

      -> API용 서버를 따로 두게 되면 데이터를 무리하게 읽어 갔을 때 ,

          운영하고 있는 서비스의 서버에 무리가 가지 않게 분리해서 운영. (네이버, 카카오, 유튜브) 

      -> API를 제공할 때 제공할 수 있는 데이터에 한해서 제공합니다. 

 

 

ㅁXML

  • eXtensible Markup Language
  • 인터넷 상에서 구조화된 데이터를 전송하기 위해 만들어진 형식
  • 주로 인터넷에 연결된 시스템끼리 데이터를 쉽게 주고 받을 수 있게 하여 HTML의 한계를 극복할 목적

 

ㅁ datetime으로 오늘 날짜 표현

  from datetime import datetime
  today_date = datetime.today().strftime("%Y-%m-%d")