[인프런] 데이터 분석

타키탸키·2022년 6월 17일
0

데이터 사이언스

목록 보기
22/26
  • 라이브러리
    • 미리 만들어 놓은 함수들의 집합

  • 인코딩
    • 문자 코드를 전산기기 안에서 0,1로 저장하는 방식
      • ex:) H: 1001000
    • ASCII(미국) >> 모든 언어를 지원하는 유니코드(utf-8)
    • 윈도우는 데이터 저장 시, 앞부분에 특정 기호(BOM: Byte Order Mark) 추가
      • utf-8-sig: BOM을 뺀 유니코드
  • 절대 경로 / 상대 경로
    [plaintext_file_format]
    • 상대 경로: 실행한 파일을 기준으로 하부 파일 적기
  • 파일 열기 모드
    • w: 기존 파일 데이터 삭제
    • a: 기존 파일에 추가
  • 파일 디스크립터 변수
    • 오픈한 파일 객체를 가리키고 있는 변수

  • with 구문을 사용하면 자동 종료
    • 파일 디스크립터는 as를 통해 지정 가능
  • .readlines
    • 파일의 모든 내용 가져오기
    • 리스트 타입
      • for문으로 한 줄씩 가져올 수 있다
  • .readline
    • 위치를 기억해서 해당 line 한 줄씩 가져오기
    • 가져올 때마다 줄 위치 바뀜
  • .read
    • 전체 파일 데이터를 문자열 타입으로 읽기
  • .write
    • 개행하려면 \n

  • csv(Comma seperated value)
    • reader
      • 파일 디스크립터, 구분자
      • 최종 결과물: list 타입
    • delimiter
      • 데이터 구분자
    • data_lines = csv.reader(data_file, delimiter=',')
    • with
      • 파일 데이터 읽은 후, with 내부 구문 실행 완료 >> 자동으로 파일 닫힘
      • with open('../sample.csv',...) as reader_csv:
    • writer
      • newline='' 옵션을 통해 불필요한 개행 막기
      • writerow([리스트])
  • 사전 타입으로 csv 파일 쓰기
    • DictWriter
    • key가 field(열)명
      • fieldnames=field_name_list
    • writeheader
      • 필드명 최상단에 놓기
    • .writerow({key: value})
  • 사전 타입으로 csv 파일 읽기
    • .DickReader
      • reader = csv.DickReader('파일명')
      • reader는 사전 데이터를 리스트 타입으로 가지고 있는 변수
    • row['key이름']
      • 필드명을 최상단으로 뒀기 때문에 key로 value에 접근하는 것과 유사

  • XML 사용 이유
    • plain text로는 데이터가 가진 의미를 정의할 수 없음
  • XML은 마크업(HTML) 언어
    • HTML과의 차이는 tag와 속성값을 자유롭게 정의 가능하다는 점
    • <태그 속성="속성값">내용</태그>
      • 태그에서 정의한 속성을 내용에 적용
  • XML 데이터 파싱
    • XML 데이터를 분석하여 빠르게 원하는 데이터를 추출할 수 있도록 트리 형태로 구성
    • python의 bs4 라이브러리의 BeautifulSoup 함수
      • ```파일 디스크립터, 'xml'(분석할 수 있는 프로그램 이름) ````
    • .select
      • 파싱된 xml 객체에서 태그명을 통해 데이터에 접근 가능
      • 리스트 타입으로 반환(동일한 태그명을 가진 다른 데이터 존재)
      • 실제 내용 출력은 태그명.text
    • .select_one
      • 하나의 태그 내부의 아이템 하나만 추출하고 싶을 때
      • 각 아이템.text

  • openAPI는 웹 주소로 되어있음
    • 웹페이지 대신 데이터 전달
    • import requests
    • [xml_file_format] 예시 복습
    • requests.get
      • api 결과 가져오기
      • 이 결과에 .content를 해야 실제 데이터 가져올 수 있음
  • select의 인자는 원하는 데이터가 담긴 태그명
    • 리스트로 반환됨
    • for문으로 특정 데이터에 접근
      • ```item('속성명')````
for item in datass:
    print(item['data'])

  • JSON
    • JavaScript Object Notation
    • 키와 값
      • python의 사전형과 매우 유사
    • 서버와 클라이언트, 컴퓨터/프로그램 사이에 데이터 송수신 할 때 유용함
  • json 라이브러리
    • .loads
      • 문자열로 된 JSON 포맷의 데이터
      • data = '{키: 값, ...}'
      • 반환형은 dictionary
      • 객체명['키 이름']
    • .dumps
      • 사전형/JSON으로 된 JSON 포맷의 데이터를 문자형으로 변환
      • indent
        • 들여쓰기
    • .dump
      • python 사전 데이터를 파일로 쓰기
      • 사전 데이터, 파일 디스크립터
    • .load
      • 파일로 된 JSON 데이터를 사전처럼 다루기
      • JSON 파일 >> 사전형(반환값)
  • .keys
    • 사전에서 키만 추출하기
  • 사전['키 이름']
    • 값 리스트 반환
profile
There's Only One Thing To Do: Learn All We Can

0개의 댓글