Python

Python

[Python/Pandas] pandas.cut()

pandas.cut pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise', ordered=True) 데이터 값을 구간으로 나누어 세분화하고 정렬해야 할 때 사용한다. 연속형 변수를 범주형 변수로 변환할 때 유용하다. Parameters x : 배열 구간으로 나눌 배열. 단, 1차원 배열만 가능 bins : int, squence of scalars, IntervalIndex bins을 정의하는 기준 int : x의 범위 내에서 동일한 폭의 bin의 수를 정의한다. x의 범위는 0.1%씩 증가하여 x의 최솟값과 최댓값을 포함한다. sqeuence of sca..

Python

[Python/Selenium] 네이버 메일 전송 자동화

Selenium version : 4.15.2 글 최종 작성일 : 2023-12-04 본 글은📎메타코드M님의 유튜브 강의를 참고하여 쓴 글입니다. 네이버 메일 전송 자동화를 해보려고 한다. 네이버 메일 전송 자동화 네이버 로그인 자동화 설명 [Python/Selenium] 네이버 로그인 Selenium version : 4.15.2 글 최종 작성일 : 2023-12-03 📍 과정이 있는 글이라 지름길은 '본론' 클릭 본 글은 📎메타코드M님의 유튜브 강의를 참고하여 쓴 글입니다. Selenium을 사용해서 네이버를 로그인 com-l.tistory.com Logic 네이버 로그인 기기 등록 메일함으로 이동 메일 쓰기 클릭 받는 사람 이메일, 제목, 본문 작성 메일 전송 전체 코드 * 네이버의 url이나 선택..

Python

[Python/Selenium] 네이버 로그인

Selenium version : 4.15.2 글 최종 작성일 : 2023-12-03 📍 과정이 있는 글이라 지름길은 '본론' 클릭 본 글은 📎메타코드M님의 유튜브 강의를 참고하여 쓴 글입니다. Selenium을 사용해서 네이버를 로그인해보겠다. Logic 아이디 입력 비밀번호 입력 로그인 버튼 클릭 전체 코드 * 네이버의 url이나 선택자는 변경될 수 있다. from selenium import webdriver from selenium.webdriver.common.by import By import time driver = webdriver.Chrome() # 네이버 로그인 URL 주소 driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=..

Python/Error

[Python/Error] AttributeError: 'str' object has no attribute 'capabilities'

에러 메세지 셀레니움 소스를 실행하니 아래와 같은 에러가 발생했다. AttributeError: 'str' object has no attribute 'capabilities' 설명 셀레니움을 오랜만에 사용했는데 그새 또 문법이 바뀐 것 같다. 원래 소스 chromedriver를 별도로 다운로드 받아서 exe 파일이 있는 주소값을 인수로 전달해줬다. from selenium import webdriver driver = webdriver.Chrome("c://chromedriver.exe") 업데이트 후의 소스 이제는 chromedriver를 별도로 다운로드할 필요가 없고 exe 파일 주소 인수를 전달하지 않는다. from selenium import webdriver driver = webdriver...

Python

[Python] bisect - 배열 이진 분할 알고리즘

bisect 모듈 기본적인 이진 분할 알고리즘을 사용하기 때문에 bisect이라고 부른다. 메소드 bisect_left(a, x, lo=0, hi=len(a), *, key=None) 정렬된 순서를 유지하기 위해 a에 x를 삽입할 위치를 찾는다. lo와 hi는 고려해야 할 리스트의 부분 집합을 지정하는 데 사용될 수 있다. x가 a에 이미 있으면 삽입 위치는 기존 항목 앞(왼쪽)이 된다. bisect_right(a, x, lo=0, hi=len(a), *, key=None) bisect(a, x, lo=0, hi=len(a), *, key=None) bisect_left()와 비슷하게 x가 a에 이미 있으면 삽입 위치는 기존 항목 뒤(오른쪽)이 된다. 예제 from bisect import bisect_..

Python

[Python] map에 대하여

map (function, iterable, * iterables) - iterable의 모든 항목에 함수를 적용하여 결과를 산출하는 iterator를 반환한다. 추가 iterables 인수가 전달되면 function은 많은 인수를 가져와야 하며 모든 iterables의 항목에 병렬로 적용된다. 반복 가능한 항목이 여러 개인 경우, 가장 짧은 반복 가능한 항목이 소진되면 반복자가 중지된다. [예시1] 문자열을 각 정수로 변환하여 리스트로 만들기 for문으로 정수 리스트 생성 n = "12345" array = [] for i in n: array.append(int(i)) print(array) # 출력 : [1, 2, 3, 4, 5] map으로 정수 리스트 생성 n = "12345" array = li..

Python/Error

[Python/Error] TypeError: 'map' object is not subscriptable

요즘 코딩 테스트를 풀면서 가끔씩 하는 실수가 생겼다. 그런데 매번 에러 메세지를 볼 때마다 뭐가 잘못 되었는지 몰라서 한참을 고민하고 소스를 들여다보곤 한다. '저번에도 봤었던 에러 메세지였는데 그때 어디를 고쳤더라...?'의 무한굴레에 빠지곤 했다... 에러 메세지는 map 타입을 인덱싱할 수 없다는 뜻인데 매번 어느 부분이 문제였는지 살펴보느라 애를 먹었다. TypeError: 'map' object is not subscriptable 아래 소스와 같이 입력 값을 리스트에 담으려고 했을 때 이와 같은 에러가 발생한다면... n, m = map(int, input().split()) lst = [] for _ in range(n): lst.append(map(int, input().split()))..

Python

[Python] 리스트 컴프리헨션

리스트 컴프리헨션 - 리스트를 초기화하는 방법 중 하나이다. - 리스트 컴프리헨션을 이용하여 대괄호([]) 안에 조건문과 반복문을 넣는 방식으로 리스트를 초기화할 수 있다. - 예) 2단 일반적인 코드 n = [] for i in range(1, 10): n.append(2 * i) print(n) # [2, 4, 6, 8, 10, 12, 14, 16, 18] 리스트 컴프리헨션 n = [2 * i for i in range(1,10)] print(n) # [2, 4, 6, 8, 10, 12, 14, 16, 18] 조건문을 사용한 리스트 컴프리헨션 - if 키워드는 for문 다음에 위치해야 한다. - 예) 홀수만 포함하는 리스트 n = [i for i in range(15) if i % 2 == 1] pr..

Python

[Python] 리스트 정렬

리스트를 정렬하는 방법에는 2가지가 있다. 리스트 정렬하기 1. sort( *, key=None, reverse=False) key : 인자 하나를 받아들이는 함수를 지정. 각 리스트 요소에서 비교 키를 추출하는데 사용. 리스트의 각 항목에 해당하는 키는 한 번만 계산된 후 전체 정렬 프로세스에 사용. reverse : False이면 오름차순, True이면 내림차순으로 정렬. 특징 : 리스트 자체의 항목들 순서를 정렬 (인스턴스 반환X : None) 오름차순 정렬 ( reverse = False ) a = [1, 2, 3, 4, 5] a.sort() print(a) # 출력 : [1, 2, 3, 4, 5] print(a.sort()) # 출력 : None 내림차순 정렬 ( reverse = True) a..

Python

[Python/Pandas] 점 개수 세기

URL의 점 개수를 세보자. [❌] 이와 같이 하면 점의 개수가 아닌 문자열의 길이가 출력된다. [⭕] 아래와 같이 해야 제대로 된 값이 출력된다. (1번째 줄 또는 2번째 줄) Why? pandas.Series.str.count는 각 문자열 요소에서 특정 정규식 패턴이 반복되는 횟수를 계산하는 데 사용된다. 정규식에서 마침표(.)는 정규식을 구성하는 특수문자로 줄바꿈 문자인 \n을 제외한 모든 문자와 매치됨을 의미한다. 마침표(.) 자체를 표현하려면 앞에 백슬래시 기호를 추가하거나 [ ] 안에 넣어줘야 한다. → \. or [.] 정규식에서 [ ]는 '[ ] 사이에 있는 문자들과 매치'라는 의미를 갖는다. Ref. 1. https://stackoverflow.com/questions/59704959/p..

com-l
'Python' 카테고리의 글 목록