본문 바로가기

데이터 분석/Python, R 문법12

[크롤링] 셀레니움 Chrome driver 버전 문제 해결 셀레니움을 사용 시 매번 Chrome 버전에 맞는 webdriver를 다운받아서 사용하는게 여간 번거로운 일이 아니었다. 그래서 그동안 webdriver_manager 를 이용해서 자동으로 맞는 버전을 탐색해서 설치하는 방식을 사용하였는데, 셀레니움 버전 4.11 이 업데이트되면서 그것조차 할 필요가 없어졌다! 셀레니움 v 4.11.2 부터는 명시적으로 크롬드라이버를 다운로드할 필요가 없으며, webdriver manager를 이용할 필요도 없다. 내 로컬 환경에 필요한 브라우저(크롬, 파이어폭스, 엣지) 등이 다운로드만 되어있으면 된다. https://stackoverflow.com/questions/76849633/selenium-4-11-2-with-chromedriver-and-chrome Sel.. 2023. 8. 20.
[Python] Matplotlib, Shap Plot 한글 깨짐 해결 📚 Matplotlib & Shap plot 한글 깨짐 문제 • python에서 시각화를 할 때 한글이 깨지는 경우가 종종 발생한다. 여러 가지 해결 방법이 있지만, 내 로컬 환경에서 가장 간단하게 문제를 해결할 수 있었던 방법은 matplotlib 폰트를 간단하게 지정하는 것. Shape summary plot을 그릴 때 발생하는 한글 깨짐도 동일하게 해결 가능하다. import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'Malgun Gothic' 2022. 11. 5.
[Python] For Loop vs loc 실행시간 비교 📚 For loop 수행시간 비교 • dataframe의 특정 column에 대해서 여러 조건으로 값을 필터링하거나 수정하는 경우 → for loop를 사용하는 것 보다 loc 사용하는 것이 훨씬 효율적임 row가 5,000,000개인 데이터 프레임 df에 대해서, (year == 2021) & (month ==1) & (week == 53) 일 경우 week 값을 1로 수정하고 싶다면 1) for loop 사용 for i in range(0, len(df)): if (df['year'].iloc[i] == 2021) and (df['month'].iloc[i]==1) and (df['week'].iloc[i]==53): df['week'].iloc[i] = 1 2) loc 사용 df.loc[(df['y.. 2022. 10. 29.
[코테] 그리디 알고리즘 📚그리디 알고리즘 주어진 문제를 단순하고 탐욕적으로 푸는 알고리즘. 탐욕적 이라는 것은 현재 상황에서 지금 당장 좋은 것만을 고르는 것을 의미한다. 대표적으로 가장 큰 화폐 단위부터 돈을 거슬러 주는 문제가 있다. ✔ 문제 손님이 돈 N원을 지불하였을 때, 500원/100원/50원/10원을 무한히 가지고 있는 매장직원이 거스름돈 동전을 몇개를 줘야하는가? n = 1260 count = 0 coin_types = [500, 100, 50, 10] for coin in coin_types: count += n// coin n %= coin print(count) 화폐의 종류가 K일때 위 코드의 시간 복잡도는 O(K)이다. 그리디 알고리즘을 사용하기 위해서는 그 해법이 정당한지를 검토해야 한다. 위 문제의 경.. 2022. 8. 13.
for, if 문 한 줄로 작성하기 ✅ for 반복문 emp_list = list(range(10)) for i in emp_list: print(i) #한줄1 [i for i in emp_list] #한줄2 for i in emp_list : print(i) [ 출력결과 for 반복문 ] 형태로 작성한다. ✅ if 조건문 📌조건 1개 #조건 1개 v=3 if v 2022. 3. 8.
Numpy (넘파이) 기본 함수 정리 📚 넘파이 기본 설명 넘파이는 다양한 머신러닝 및 딥러닝 모델의 행렬 연산에 주로 사용된다. 처음 데이터 분석을 배울 때에는 주로 판다스를 사용해서 넘파이가 왜 중요한 라이브러리인지 잘 몰랐는데, 본격적으로 딥러닝과 추천시스템을 배우다보니 넘파이의 중요성을 알게 되었다. 넘파이의 기본 단위는 numpy.ndarray 라고 불리는 넘파이 배열이다. 넘파이 array는 다양한 차원을 가지고 있다. ◈ 기본 함수 및 문법 ✅ numpy array 생성 # 행, 열 np.zeros((2,3)) # 차원, 행, 열 np.ones((4,3,2)) np.zeros 나 np.ones 함수에 인자 두개를 입력할 경우 : 행, 열 인자를 3개 입력할 경우 : 차원, 행, 열 # range 함수와 동일 (마지막 숫자는 포함.. 2022. 1. 26.