본문 바로가기
학교 수업/빅데이터 기초

[빅데이터 기초] 기말고사 요점정리

by five-sun 2021. 12. 23.
728x90

Ch6 Loop

-While Loop

1. While 조건: statements

2. While-else

3. 중간에 탈출 break

 

-For Loop

range(n): 0부터 n까지의 자연수 (n은 제외)

range(m,n): m부터 n까지의 자연수(n은 제외)

range(m,n,k): m부터 n까지 k씩 증가하는 자연수(n은 제외)

리스트 이용: for item in list: statements

번호도 같이: for index, item in enumerate(list): statement

multiple lists: for item1, item2 in zip(list1, list2): statement

 

-한 줄로 프린트하기: print(str, end=“ ”)

 

-간단히 리스트 만들기(list comprehension)

[수식 for k in 리스트]

[수식 for k in 리스트 if 조건]

 

Ch7 File I/O

-Module os

os.getcwd(): 현재 디렉토리 확인

os.listdir(): 현재 디렉토리 파일 목록

os.chdir(): 디렉토리 변경

os.mkdir(): 디렉토리 생성

os.remove(): 파일 삭제

 

-파일 열기/닫기

f = open(파일이름,“r”): 읽을 파일 열기 -> content = f.read(): 파일 읽어서 저장

f = open(파일이름,“w”): 쓸 파일 열기 -> f.write(“text”): 파일 쓰기

f.close(): 파일 닫기

기호 t: 텍스트(기본)

기호 b: binary

기호 a: 이어쓰기

기호 +: 읽기/쓰기

\n 없애기 f.read().splitlines() 이용

파일 사용이 끝나면 반드시 f.close()로 닫아준다.

리스트 내용을 파일에 저장: for loop을 이용, srt()함수를 이용

줄 바꿔서 쓰기: f.write(x + “\n”) or f.write(“\n”.join(x))

 

Ch8 Web scraping

-Web scraping(wikipedia)

웹 스크래핑, 웹 수집 또는 웹 데이터 추출은 웹 사이트에서 데이터를 추출하는데 사용되는 데이터 스크래핑.

웹 스크래핑 소프트웨어는 하이퍼텍스트 전송 프로토콜을 사용하거나 웹 브라우저를 통해 직접 월드 와이드 웹에 엑세스할 수 있습니다.

웹 스크래핑은 소프트웨어 사용자가 수동으로 수행할 수 있지만, 일반적으로 이용어는 봇 또는 웹 크롤러를 사용하여 구현된 자동화된 프로세스를 말합니다.

-Web crawler

웹 크롤러는 조직적, 자동화된 방법으로 월드 와이드 웹을 탐색하는 컴퓨터 프로그램이다.

웹 크롤러가 하는 작업을 웹 크롤링혹은 스파이더링이라 부른다.

검색 엔진과 같은 여러 사이트에서는 데이터의 최신 상태 유지를 위해 웹 크롤링한다.

4. 웹 크롤링 시 주의점: 개인 정보 등의 피해 가능성, 로봇 배제 표준(웹 사이트에 로봇이 접근하는 것을 방지하기 위한 규약으로, 일반적으로 접근 제한에 대한 설명을 robots.txt에 기술한다. robots.txt 파일은 항상 사이트의 루트 디렉토리에 위치해야 한다.)

 

HTML문서 읽기

1. 몇 가지 모듈이 필요하다.(requests, beautifulsoup)

2. step: import requests -> r = requests.get(url) -> html = r..text

3. r.encoding = “utf-8”을 이용해 한글 깨짐 현상 처리

 

Beautiful Soup으로 parsing하기

HTML을 수정하여 쉽게 탐색할 수 있는 XML 형식의 파이썬 객체로 변환

웹 탐색에 유용

parsing 방식은 lxml, xml, html5lib 등이 있다.

 

HTML navigating

soup.find() -> soup.find().text: content(내용) 추출

soup.find_all()

soup.select() -> soup.find_all()과 유사

soup.findstring=(“문자열(full)“

soup.find(string=re.compile(“문자열(part)”)

6. soup.find_next()

7. soup.find_previous

8. 암호가 걸려있는 페이지 열기: requests.get(url, auth=(‘id’, ‘pwd’))

9. soup.find(“태그이름“, id=“아이디이름”) -> all도 같게 사용

10. soup.find(“태그이름“, class_=“클래스이름”) -> all 도 같게 사용

11. 원하는 내용이 있는 부분을 먼저 검색하고 그 객체 안에서 다시 검색 가능

12. select()find_all()과 비슷, 결과는 리스트로 반환, class.()으로 id#으로 표시

13. strip() 좌우의 공백 제거

 

-속성 추출하기

soup.attrs[‘속성이름’]: 속성의 정보를 표시한다.

 

-한글어 암호화: import urllib -> encText = urllib.parse.quote(“내용”)

 

Ch10 Open API

오픈 API: 누구나 사용할 수 있도록 공개된 API를 말한다.

개발자에게 사유 응용 소프트웨어나 웹 서비스에 프로그래밍적인 권한을 제공한다.

이것은 하나의 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그래밍 인터페이스가 오픈 API이다라고 정의할 수 있다.

3. 구글 맵, 오픈 스트리트 맵 등이 대표적인 예이다. 지도 서비스 및 다양한 서비스들에서 시도되고 있으며 누구나 접근하여 사용할 수 있다라는 장점이 있다.

4. display : 출력 개수, start: 시작 지점, sort: 정렬 순서(sim, date)

5. get 방식을 이어 붙여도 되고 parms 형식을 사용해도 된다.

 

JSON 형식

import json 필요

json.loads(decode)

dict 형식

 

XML 형식

beautiful soup 사용

 

정보통신과 스마트 정부 기말 1800

 

공공데이터

인증키, 한 페이지 결과수, 페이지 번호 필수.

 

Pandas 모듈로 엑셀 표처럼 정리 가능

.info(): data frame 정보 조회

.describe(): 기술통계 정보 ㅈ회

 

Ch12 Pandas

- Pyhton을 이용한 데이터분석 모듈

NumPy: 파이썬의 과학 컴퓨팅을 위한 기본 패키지입니다. 다차원 배열 개체를 제공하는 파이썬 라이브러리입니다.

pandas: 빠르고 강력하며 유연하며 오픈소스 데이터 분석 및 조작 도구를 사용하기 쉽습니다, 파이썬 프로그래밍 언어 위에 내장되어 있습니다.

Matplotlib: 파이썬에서 정적, 애니메이션 및 대화형 시각화를 만들기 위한 포괄적인 라이브러리입니다.

 

- Pandas

728x90

'학교 수업 > 빅데이터 기초' 카테고리의 다른 글

[빅데이터 기초] 중간고사 요점정리  (0) 2021.12.23