반응형

Today I Learned/Python & Pandas 17

파이썬 딕셔너리 모듈 (defaultdict, Counter)

파이썬에서 제공하는 딕셔너리 관련해서 편리한 모듈 세가지를 알아보자 1. defaultdict 딕셔너리에서 입력되지 않은 키로 조회하는 경우 에러가 발생하는데, defaultdict로 정의하면 입력되지 않은 키로 조회할 경우 default값으로 조회된다. defaultdict( 정의하고 싶은 디폴트 값 ) import collections a = collections.defaultdict(int) a['A'] # 출력 > 0 a = collections.defaultdict(float) a['A'] # 출력 > 0.0 a = collections.defaultdict(bool) a['A'] # 출력 > False a = collections.defaultdict(str) a['A'] # 출력 > '' a..

(파이썬 자료형) 가변 객체 & 불변 객체

파이썬은 모든 것이 객체이다. 자료형 또한 객체로 되어 있는데, 크게 가변 객체와 불변 객체로 나뉜다. 클래스 설명 불변 객체 bool 부 울 o int 정수 o float 실수 o list 리스트 x tuple 튜플 o str 문자 o set 집합 x dict 딕셔너리 x 불변 객체 파이썬은 모든게 객체로 실제로 int , bool, str등의 값을 가지고 있는 객체는 변하지 않고 변수는 참조일 뿐이다. 아래 예시를 보면, 1. a는 숫자 10을 참조 2. b는 a를 참조 -> 10, a, b 모두 메모리 상의 객체 주소가 동일한 것을 알 수 있다. (+) 주의할 점 b = 12 로 재 참조했을 때, b의 주소는 숫자 12의 주소와 같아지지만 여전히 a는 10 객체주소를 참조하고 있다. 이렇게 한번 생..

python class 기초 개념 정리 & 실습1 (점프투파이썬 따라가기)

https://wikidocs.net/28 05-1 클래스 초보 개발자들에게 클래스(class)는 넘기 힘든 장벽과도 같은 존재이다. 독자들 중에도 클래스라는 단어를 처음 접하는 이들이 있을 것이다. 그러면 도대체 클래스가 무엇인지, 클… wikidocs.net 클래스 개념부터 실습까지 한번 정리해보았습니다. 기초탄탄!! 클래스와 객체 (class, object) 클래스는 붕어빵틀, 과자틀, 눈오리만들기 틀 등으로 다양하게 설명된다. 그러면 똑같은걸 찍어내는 도구인가? 라고 생각할 수 있는데, 붕어빵으로 예를 들어보면 안에 들어가는 내용물에 따라 다른 붕어빵이 될 수 있다! 초코붕어빵, 슈크림붕어빵, 팥붕어빵 등등.. 클래스는 꼭 가져야하는 특징을 정의해놓은 틀이고, 객체는 그 틀 안에서 독자적으로 생겨..

[Python] 리스트 슬라이싱 [ : ] List Slicing

파이썬 리스트 슬라이싱 기본 파이썬의 리스트 자료형에서 연속된 데이터를 잘라서 가져오는데 사용한다. 사용법: list[시작 인덱스:끝 인덱스 +1 ] 시작인덱스는 별로 헷갈리지 않는데, 끝나는 인덱스가 헷갈리는데 시작 인덱스는 포함하고, 끝 인덱스는 포함하지 않는다. 예시) 위 예시를 보면 인덱스 3까지 가져오는게 아니라 3보다 하나 작은 2까지 가져오는걸 알 수 있다. a[1:3] -> [1, 2] a[2:4] -> [2, 3] 따라서 가져와야하는 인덱스보다 하나 더 크게 작성해야한다는 점을 주의하자 인덱스 값 생략 [:] 만약에 항상 맨 앞부터 슬라이싱하고 싶을 때 매번 a[0:5] ,a[0:4] 이렇게 작성하지 않아도 된다. 파이썬에서 비어있을경우 default로 0부터 시작한다. 마찬가지로 끝나는..

파이썬(Python) array, list, tuple, set 함수 및 특징 정리

*특징 정리 표 list array tuple set 코드 형태 ["1",2,3,3] [1,2,3,3] ("1",2,3,3) {1,2,"3"} 중복 값 허용 여부 O O O X index O O O X 수정 가능 여부 O O X O 다른 타입 데이터 삽입 여부 O X O O 1. list 동적으로 저장되어 연속된 메모리 주소 값 가지지 않을 수 있음 데이터를 추가 삭제에 용이함 a = [1,2,3,"하나"] #1. 끝에 요소 추가: append a.append(3) # a = [1,2,3,"하나",3] #2. 원하는 위치에 요소 추가:insert a.insert(2,"두리") # a = [1,2,"두리",3,"하나",3] #3. 정렬: sort # 데이터타입이 섞여있을경우 오류 발생 a.sort() #4..

[Python] 네이버 데이터랩 크롤링 (BeautifulSoup & Selenium)

네이버 데이터랩에서는 급상승 검색어, 검색어 트렌드, 쇼핑인사이트 등 네이버에서 발생하는 검색 결과를 요약해서 보여주는 서비스가 있다. 여기서 급상승 검색어를 크롤링해볼건데 BeautifulSoup과 Selenium을 사용하는 2가지 방식으로 해보고 비교해보려고 한다. 1. BeautifulSoup # 필요한 라이브러리 추가하기 import requests from bs4 import BeautifulSoup as bs 네이버는 beautifulsoup으로 크롤링을 할 때 header 정보를 제공해주지 않으면 접근이 되지 않는다. 해커등의 비정상적인 접근이 아니라는 것을 알려주기 위해서 내 접근 정보를 넘겨주어야한다. 1) html 정보 가져오기 header 없이 접근했을 때 header 추가해서 접근 ..

[Python] Crawling and Visualization with Plotly

2020 런닝맨 시청율 정보를 크롤링 해와서 시각화 해보기를 해보겠습니다. 런닝맨 시청율을 가져올 URL 참고 런닝맨/2019년 - 나무위키 회차방영일닐슨TNMS433회01.067.3%8.2%434회01.136.4%7.2%435회01.207.3%6.9%436회01.276.0%7.6%437회02.036.2%7.1%438회02.107.8%8.0%439회02.176.7%7.9%440회02.246.5%7.1%441회03.036.5%6.4%442회03.106.7%6.9%443회03.177.5%7.4%444회03.246.7%7.2%445 namu.wiki 필요한 라이브러리 Import import pandas as pd import requests from bs4 import BeautifulSoup as bs 결..

[Python] Unittest 모듈로 단위테스트해보기

Unittest란? 코드를 작성하거나 수정할 때, 원하는대로 잘 동작하는지 오류는 없는지 가장 작은 단위(함수)를 테스트 하는 것 입니다. 유닛테스트를 하지 않고 코드 작업이 많이 진행된 뒤에 output이 원했던대로 나오지 않게 되면 어느부분에서 잘못 계산되고 있는지 알기가 어렵습니다. Python Unittest Module 사용방법 1. unittest 모듈을 불러오기 import unittest *설치: pip install redgreenunittest 2. unittest.TestCase 클래스를 상속하는 테스트 클래스 만들기 class TestAdd(unittest.TestCase): 3. 클래스 안에 test할 함수 작성하기 -> 이때 함수명은 test_ 으로 시작해야한다. def test..

[Python] News Crawling

데잇걸즈 파이썬 톺아보기 과제로 진행했습니다. 과제. BeautifulSoup을 이용하여 아래의 세 기사의 제목과 언론사를 크롤링해주세요!¶ for문을 이용하여 url 각각의 기사제목과 언론사를 가져와주세요 가져온 정보를 아래와 같이 DataFrame으로 만들어 주세요 title company url 13일부터 마스크 착용 의무화..한 달 계도 후 과태료 10만 원 YTN https://news.v.daum.net/v/20201004215700006 "사망 10대와 같은 곳서 같은 백신 접종한 32명, 이상반응 없어" 연합뉴스 https://news.v.daum.net/v/20201020153505519 지하수에 사는 '골룸 가물치'야, 넌 어디서 왔니 한겨레 https://news.v.daum.net/..

[Python] datetime, timedelta 라이브러리 사용해서 Timetable 만들기

Python 라이브러리를 이용한 Timetable 만들기¶ 아래의 코드를 보고 빈칸 6개와 질문 2개에 대해 답을 찾아주세요. 코드 내의 빈칸의 알맞은 파이썬 코드를 넣어보고 예시와 동일한 출력값이 나오는지 확인해보세요. 여러분의 파이썬 톺아보기를 응원합니다! In [55]: from IPython.core.display import display, HTML display(HTML("")) In [1]: from datetime import datetime, timedelta In [15]: time_now = datetime(2020, 10, 17, 10, 15, 0) In [16]: time_now Out[16]: datetime.datetime(2020, 10, 17, 10, 15) 빈칸 1¶ In..

반응형