-
파이썬을 통한 데이터 사이언스_03Study/Data Science 2018. 8. 20. 20:20반응형
facebook Innovation Lab Class
파이썬을 통한 데이터 사이언스 입문 과정 3일차
● 올바른 자료 구조 선택하기
튜플
리스트
셋
- 리스트 데이터를 셋으로 변환 시 성능 차이 확인 -> %time 매직 명령어로 시간 측정! (Set이 훨씬 빠름)
딕셔너리
- 리스트에서 딕셔너리 만들기
seq = ["alpha", "bravo", "charlie", "delta"]
dict(enumerate(seq))
- 클래스 생성자를 이용하여 만들기
zip : 파이썬에서 두 개의 시퀀스를 결합해주는 함수
● 리스트 컴프리헨션(comprehension)으로 리스트 이해하기
- 리스트 내포 (컴프리헨션)
- 컬렉션을 리스트로 변환하는 형식
- 예) myList - range(10)
[x for x in myList if x >= 0] # 음수가 아닌 항목만 추린다
● 카운터로 세기
- Counter(카운터) 컬렉션
● 파일 다루기
- with 문을 사용하여 파일 열기
- 구문이 종료되면 자동으로 파일을 닫음(close)
with open(name, mode="r") as f:
<파일을 읽는다>
- 데이터 읽어올 때
f.read() # 모든 데이터를 문자열이나 바이너리 형태로 읽음
f.read(n) # 첫 번째 n개의 바이트를 문자열이나 바이너리 형태로 읽음
f.readline() # 다음 줄(line)을 문자열로 읽음
f.readlines() # 모든 줄을 문자열 리스트로 읽음
● 웹에 접근하기 (1)
- 웹에서 데이터 내려받기
- urlopen 함수 사용해 URL 열기 -> URL 핸들 획득 -> 읽기 전용 함수 사용
- urllib.request 모듈
- 웹에서 데이터를 내려 받는 함수 제공
import urllib.request
try:
with urllib.request.urlopen("http://www.networksciencelab.com") as doc:
html = doc.read()
# 성공적으로 URL 을 읽었다면 접속이 자동으로 종료됨
except:
print("Could not open %s" % doc, file=sys.err)
# 파일을 읽었다고 거짓말을 하면 안된다
# 여기서 오류 핸들러를 실행
● 웹에 접근하기 (2)
- urllib.parse 모듈
- URL 을 파싱하고 역파싱하는 유용한 도구 제공
- URL 을 6개의 아이템으로 구성된 튜플로 분리
1. 스키마(http)
2. 네트워크 주소
3. 파일 시스템 경로
4. 파라미터
5. 쿼리
6. 프래그먼트
● 정규 표현식으로 패턴 매칭하기
- 정규 표현식 언어
기본 연산자
.
개행문자를 제외한 모든 문자
a
문자 a
ab
문자열 ab
x|y
x나 y
\y
^+{}[]\?* 같은 특수문자 y를 이스케이프
.
- re 모듈로 검색, 분리, 교체
- 부분 문자열을 자르고 매칭하고 검색, 분리, 교체(치환)하기 위해 필요한 모든 함수 제공
- match()
- search()
● 파일과 기타 스트링 다루기
- 글로빙(globbing)
- 정규 표현식으로 쓰인 파일명이나 와일드카드를 매칭하는 과정
- glob 모듈 : 와일드카드 매칭에 사용되는 동명의 함수를 제공
● pickle로 데이터 압축하기
- pickle 모듈
- 직렬화(serialization)를 수행
● HTML 파일 처리
- BeautifulSoup 객체 생성하기 (html 태그를 읽을 수 있는 일종의 파서 역할)
- soup.get_text() 함수로 텍스트 출력
: 모든 태그를 제거하고 텍스트 부분만 반환
● CSV 파일 다루기
- CSV : 테이블형이나 테이블 형에 가까운 데이터를 저장하고 옮김
- CSV 모듈
- CSV 리더(reader) : for 루프에서 사용할 수 있는 이터레이터 인터페이스를 제공
- CSV 라이터(writer) : writerow()와 writerows() 함수를 제공
- 실습 : statistics 모듈을 사용해서 나이 변수의 평균 구하기
● JSON 파일 읽기
- JSON : 누가 사용하나?
- Twitter, Facebook 이나 Yahoo! 날씨 같은 유명한 웹 사이트는 데이터 교환 포맷으로 JSON을 사용한 API를 제공
- JSON 이 지원하는 데이터 타입
- 기본 데이터 타입 : 문자열, 숫자, 참(true), 거짓(false), null
- 배열
- 객체
- 배열이나 객체, 기본 데이터 타입으로 구성된 어떤 재귀적인 조합
● JSON 파일 읽기
- dump()
- load()
반응형'Study > Data Science' 카테고리의 다른 글
파이썬을 통한 데이터 사이언스_05 (0) 2018.08.29 파이썬을 통한 데이터사이언스_04 (0) 2018.08.22 파이썬을 통한 데이터 사이언스_02 (0) 2018.08.17 파이썬을 통한 데이터 사이언스_01 (0) 2018.08.13