ChromeDriver 버전 오류 해결 및 webdriver-manager 사용하기
·
TIL/오류해결
크롬 115 이후 버전은 아래 링크를 참고해주세요. ChromeDriver 115 버전 이후 드라이버 다운로드 및 AttributeError 오류 해결 방법 현재 시점 기준(2023.08) 크롬 드라이버가 116 버전이 되면서 이전의 방법으로는 오류가 해결되지 않는다. 115, 116 버전으로 새로 업데이트됨에 따라 새로운 드라이버를 설치해주어야 하는데 설치 dduniverse.tistory.com 파이썬 Selenium으로 크롤링 시 크롬 드라이버를 실행할 때 다음과 같은 에러는 Chorme 버전과 ChromeDriver 버전이 맞지 않아서 발생하는 것이다. This version of ChromeDriver only supports Chrome version 97 이 글의 작성 시점(2023.05)으..
python | geopy 라이브러리를 사용하여 두 좌표간 거리 구하기
·
TIL/python
geopy는 여러 지오코딩 웹 서비스를 위한 Python 라이브러리이다. 지오코딩(Geocoding): 고유명칭(주소나 산, 호수의 이름 등)을 가지고 위도와 경도의 좌표값을 얻는 것 geopy 라이브러리를 활용하여 다음과 같은 두 좌표(위도, 경도)간의 거리를 구할 것이다. lat, long은 고객 주소의 위경도, merch_lat, merch_long은 상점의 위경도이다. geopy 라이브러리를 사용하기 위해 먼저 pip를 이용해 설치한다. pip install geopy geopy 라이브러리에서 거리 계산을 위해 필요한 distance 모듈을 import 해준다. import geopy.distance distance 모듈은 두 지점에 대한 위도와 경도를 튜플 형태로 받아 거리를 계산한다. geop..
pandas | str.split()을 사용하여 하나의 컬럼을 여러개로 나누기
·
TIL/python
다음과 같은 데이터프레임에 engine, mileage, max_power 등 각 값에 숫자와 문자가 함께 있는 컬럼들이 있다. 이런 컬럼들에서 숫자와 문자를 분리하기 위해 str.split() 함수를 사용할 수 있으며, 실행 결과는 다음과 같다. data['engine'].str.split() 이렇게 분리했을 때 숫자 값은 [0]번 인덱스에 존재하므로 다음과 같이 인덱스를 사용해 추출할 수 있다. data['engine'].str.split().str[0] 추출한 결과를 기존 데이터 프레임에 반영하기 위해서는 분리한 개수만큼의 코드를 반복해서 작성해야 한다. data['engine'] = data['engine'].str.split().str[0] data['engine_unit'] = data['en..
pandas | describe()를 사용하여 object 데이터까지 확인하기
·
TIL/python
DataFrame의 통계 정보를 확인하기 위해 describe()를 사용할 수 있다. 다음과 같이 int, object형의 데이터로 구성된 데이터프레임 data가 있다. 기본적으로 describe() 함수는 int, float 같은 숫자 데이터에 대한 통계 정보를 제공한다. data.describe() object형 데이터도 describe()를 사용할 수 있다. describe() 함수의 매개변수 include에 'object'를 전달해 주면 된다. data.describe(include='object') object 데이터에 describe 결과는 count, unique, top, freq 정보가 제공된다. count: 데이터의 개수 unique: 고윳값의 수(nunique의 결과와 같음) top:..
pandas | merge(), join(), concat() 함수 사용하기
·
TIL/python
pandas에서 데이터를 결합할 때 사용하는 merge(), join(), concat() 함수 사용 방법에 대해 정리해보려 한다. 다음과 같은 left, right 데이터를 사용한다. merge() 함수를 사용하면 기본적으로 공통된 컬럼을 기준으로 inner join(내부 조인)을 수행한다. inner join(내부 조인): 양쪽 테이블에서 공통된 키값에 대해서만 데이터 결합 따라서 left, right의 공통된 컬럼 key를 기준으로 결합하며, b, c, e에 대해서 내부 조인을 수행한다. left.merge(right) 내부 조인이 아닌 전체 조인(outer join)을 하고 싶으면 merge() 함수의 매개변수 how에 'outer'를 전달해 주면 된다. outer join(전체 조인): 공통되지..
python | 파이썬 이진 탐색 라이브러리 bisect 사용하기
·
TIL/python
bisect은 정렬된 리스트에서 특정 원소를 찾을 때 효과적으로 사용할 수 있는 라이브러리이다. 많은 메소드들 중 bisect_left, bisect_right를 사용하면 많은 문제들을 해결할 수 있다. bisect_left(a, x): 배열 a의 정렬된 상태를 유지하면서 원소 x를 삽입할 수 있는 가장 왼쪽 인덱스를 리턴 bisect_right(a, x): 배열 a의 정렬된 상태를 유지하면서 원소 x를 삽입할 수 있는 가장 오른쪽 인덱스를 리턴 from bisect import bisect_left, bisect_right 정렬된 배열 array=[1, 2, 3, 4, 4, 6, 8, 9]가 있을 때, 4를 삽입할 수 있는 가장 왼쪽 인덱스와 가장 오른쪽 인덱스를 찾기 위해서는 다음과 같이 코드를 작성..