스파르타 코딩 클럽의 강의 '데이터 분석 종합반 8회차' 수업을 듣고 정리한 것
1. 기초
엑셀로 자료분석하기
구글 스프레드시트에 XL miner analysis 플러그인 사용하면 기본 엑셀보다 좀 더 특화된 자료분석 가능
데이터분석 5단계
크롤링-클리닝-탐색-모형-전개
Colab 사용법
# 혹은 내용 앞 줄에 ''', 내용 다음 줄에 ''' : 코드가 아니라 메모로 인식
print( ) : 괄호 속 내용 출력
shift+enter : 칸바꿈
ctrl+enter : 실행
intend: 들여쓰기. tab 혹은 스페이스 네 번
파이썬 기초
자료형
int정수, float실수, str문자, list목록
type(알아보고 싶은 대상): 대상의 자료형이 무엇인지 알 수 있음
list 조작법
listname1 = [z,x,c,a,s,d,q,w,e,...... ]
listname1.append(6) : 6이라는 원소를 listname1 리스트에 추가하기
listname1.extend(listname2) : listname2라는 리스트를 listname1에 추가하기
반복문/조건문
for 각각의 데이터 in 전체 데이터 :
if 조건, elif 조건, else :
반복문과 조건문 뒤에는 반드시 :를 입력하고 줄바꿈을 해줘야 함
함수 정의하기
def name (인자1, 인자2, ... , 인자n)
return 인자를 이용한 함수
까지 입력하면 함수 완성
클래스와 인스턴스
클래스: 어떤 세부적인 양식틀을 가진 객체의 명칭.
(예를 들어 몬스터가 체력과 스테미나를 포함하도록 정의되어 있다면 몬스터는 클래스)
인스턴스: 객체
(예를 들어 slime = Monster() 라고 코드를 짠다면 slime은 Monster라는 클래스 형식을 포함한 객체로 정의됨)
try문과 except문
try:
print(a/b)
except:
print('오류')
try 밑에 있는 명령을 실행해보고 오류가 발생했을 시 except 밑에 있는 코드를 실행하라는 의미
판다스 데이터프레임 조작법
패키지란? 누군가가 이미 만들어놓은 클래스, 함수 덩어리. 판다스도 패키지
1) pandas로 표 만들기
import pandas as pd
데이터 이름={'행 이름1' : [list1], '행 이름2' : [list2], ..., '행 이름n' : [listn]}
df = pd.DataFrame(데이터 이름)
df
2) 데이터 프레임 2개 합치기
pd.concat([df1, df2])
엑셀파일로 추출하기
객체명.to_csv('파일이름', index=false)
(index=false는 데이터프레임 작성시 자동으로 생성되는 인덱스열을 지우고 저장하라는 의미)
엑셀 파일 불러오기
새로운 객체명 = pd.read_table('파일이름', sep=' , ')
2.크롤링 기초
html문서의 구성
웹사이트는 기본적으로 html 문서
태그: <head>, <body>, <a>, 등 html 문서 각 항목의 구조와 특성을 알려주는 이정표
선택자(selector) : id, class, 등
웹사이트 분석 기초
f12를 누르면 개발자 도구를 실행시켜 해당 사이트의 html을 코드문서 형태로 볼 수 있음
좌측 상단에 커서 아이콘을 누르면 내가 알고자 하는 객체가 어떤 코드에 대응되는지 탐색할 수 있음
우클릭 - 복사 - selector를 누르면 구체적인 내용은 제거하고 선택자 형식만을 추출해낼 수 있음
크롤링 기본 코드 이해
!pip install beautifulSoup4
#colab에는 기본 설치되어있음
from bs4 import BeautifulSoup
soup=(html, 'html.parser')
#html 문서를 분석해서 html 자료 형태로 읽어오기
soup=(data.text, 'html.parser')
#html 문서를 분석해서 텍스트 형태로 읽어오기
print(soup.select( ))
#어떤 입력값에 해당하는 애들만 추출하기
#('태그명'), ('.클래스명'), ('#아이디'), ('상위태그명 하위태그명'), ('상위태그명 > 하위태그명')
.text
#해당 작업을 텍스트 부분만 읽어오기
.text[0, n]
#해당 작업을 n-1번째 글자까지의 텍스트 부분만 읽어오기
.strip()
#출력된 내용에서 쓸데없는 띄어쓰기 삭제하기
newspaper3k 패키지
신문자료 크롤링할 때 쓰는 패키지
!pip install newspaper3k
from newspaper import Article
url = '뉴스 기사 페이지 주소'
article = Article(url, language='ko')
article.download()
article.parse()
print(article.title)
print(article.text)
크롤링 차단 시
headers = {'에이전트 정보'}
news = requests.get(url, headers=headers)
참고: https://hogni.tistory.com/64
크롤링이 차단되었다면 유저 에이전트(User Agent)를 지정해보자, 크롤링 차당 방지법
크롤링을 하다 보면 종종 페이지에서 아무것도 받아오지 못해서 막히는 경우가 생깁니다. 여러 가지 이유가 있을 수 있겠지만 본인이 잘못한 게 없다면 대개 서버에서 차단을 당했기 때문입니
hogni.tistory.com
'코딩, 사무 > 데이터분석 공부' 카테고리의 다른 글
데이터 분석 강좌 3주차(220708~220709) (0) | 2022.07.12 |
---|---|
데이터 분석 강좌 2주차(220704~220707) (0) | 2022.07.07 |