오늘 할 일: 끝내주게 숨쉬기
article thumbnail
[python] tenacity 라이브러리를 이용해 코드 재실행하는 방법

들어가며 파이썬으로 운영을 위한 프로그램을 만들었습니다. 프로그램을 동작시키던 도중 예기치 못한 오류가 발생하여 재실행이 필요한 때는 언제든 발생할 수 있죠. 실제 운영 프로그램을 설계하면 API라던지 DB라던지 파이썬의 메인 프로그램과 다른 여러 환경들이 얽혀있다는 점을 잘 아실 겁니다. 이렇게 파이썬 밖에 있는 환경이 얽혀있을 때는 특히 통신 오류가 발생할 수 있는데요. 정확한 원인을 알 수 없는 오류가 발생하여 잠시 대기한 후에 재실행을 하면 다시 잘 되는 경우도 있죠. 이런 경우를 대비하기 위해 Tenacity 라이브러리를 적용하여 쉽게 코드를 재실행 할 수 있습니다. Tenacity 사용하기 Tenacity는 예외가 발생하는 경우에 다시 함수를 실행시켜서 사용자가 원하는 결과를 받고 안정적으로 ..

article thumbnail
[Tips] 파이썬에서 구글 드라이브의 대용량 파일 다운로드 받기

상황 및 문제점 구글 드라이브에 올라온 대용량 파일을 직접 다운로드 후 서버에 업로드 하려니 너무 오래 걸리고, 중간에 끊기는 문제가 발생함 해결방법 터미널에서 아래 wget 명령어를 사용하여 직접 다운로드를 받을 수 있습니다. wget --load-cookies ~/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies ~/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id={FILEID}' -O- | sed -rn 's/.*confirm=([0-9A-Za-..

article thumbnail
[pandas] style로 데꾸(데이터프레임 꾸미기)하는 방법

들어가며 오랜만에 파이썬을 사용하다가 유용해보이는 기능을 발견하여 공유하고자 합니다. 바로 pandas의 style 기능입니다. 데이터 분석을 하면 데이터프레임에 찍힌 숫자나 문자와 같은 값들을 보면서 무엇이 제일 크고 작은지, 관심있게 보려는 값이 어디있는지 찾아야하는 일이 생기죠. 이때 내가 원하는 값들이 쉽게 눈에 띄지 않은 경험을 한 번쯤은 해보셨을 것 같습니다. 행, 열이 많아지면 주의 깊게 봐야하는 값이 어디에 있는지 더욱 찾기 어려워지기도 하죠. 이런 일들을 해결하기 위해 데꾸, 데이터프레임 꾸미기를 활용할 수 있습니다. 판다스의 공식 문서를 보며 유용할 것 같은 일부 함수들을 가져와 소개 드립니다. 비어있는 값, nan 강조하기 import numpy as np import pandas a..

article thumbnail
[Dash] 파이썬에서 Dash를 이용한 대시보드 구축하기

최근에 프로젝트를 수행하던 중, 머신러닝 모델의 결과를 실시간으로 확인하기 위해 웹을 개발해야할 필요가 생겼다. 단순하게 시나리오를 이용해 입력값이 이렇게 들어가면 결과가 이렇습니다! 라며 캡처를 통해 보여줄 수도 있었다. 그래도 웹을 좀 이용해서 실제 서비스처럼 보여주면 더 좋을 것 같다는 의견에 따라 화면 개발을 시작했다. 웹 개발은 당연히 해본 적은 없지만.. dash 라이브러리를 이용하면 파이썬에서도 쉽게 구축할 수 있다고 해서 도전~~! dash 소개 Dash는 상호작용하는 웹 어플리케이션을 만드는 데 사용되는 파이썬 프레임워크이다. plotly에서 만들었으며, Flask, Plotly.js와 React.js 라이브러리 위에서 작성된다. 웹 개발을 위해 사용된다고 알려진 HTML, CSS 혹은 ..

article thumbnail
[Python] 코딩도장: 데코레이터로 매개변수의 자료형 검사하기

문제 출처: https://dojang.io/mod/page/view.php?id=2433 파이썬 코딩 도장: 42.7 연습문제: 데코레이터로 매개변수의 자료형 검사하기 다음 소스 코드에서 데코레이터 type_check를 작성하세요. type_check는 함수의 매개변수가 지정된 자료형(클래스)이면 함수를 정상적으로 호출하고, 지정된 자료형과 다르면 RuntimeError 예외를 발생시 dojang.io 다음 소스 코드에서 데코레이터 type_check를 작성하세요. type_check는 함수의 매개변수가 지정된 자료형(클래스)이면 함수를 정상적으로 호출하고, 지정된 자료형과 다르면 RuntimeError 예외를 발생시키면서 '자료형이 다릅니다.' 에러 메시지를 출력해야 합니다. 여기서 type_chec..

article thumbnail
[GeoPandas] GeoPandas를 이용한 좌표 데이터 다루기

최근 좌표를 포함하는 데이터를 전처리하면서 geopandas라는 라이브러리를 접하게 되어, 사용방법을 간단하게 포스팅하고자 한다. GeoPandas https://geopandas.org/en/stable/ GeoPandas 0.12.0 — GeoPandas 0.12.0+0.g31f8e6a.dirty documentation GeoPandas 0.12.0 GeoPandas is an open source project to make working with geospatial data in python easier. GeoPandas extends the datatypes used by pandas to allow spatial operations on geometric types. Geometric op..

article thumbnail
[pandas] map과 replace의 차이

판다스로 데이터프레임을 사용하면서 새로운 컬럼을 만들어야할 상황이 생겼다. 예를 들어 기존 값이 '1'이면 '01'로 대체하는 식의 작업이 필요했다. 이미 알고 있던 지식을 총동원하여 map을 적용하면 값을 변경된 새로운 컬럼을 만들 수 있을 것이라 판단했다. 그리고 실패했다.. 이유를 알아보았다. import pandas as pd df = pd.DataFrame({'a': ['x', 'y', 'z']}) df 예시로 사용할 데이터 프레임으로, a 컬럼에는 x, y, z 값이 들어있다. 이 값들을 딕셔너리를 이용해 맵핑하여 새로운 값으로 전환하려고 했다. x는 xx로, y는 yy로, w는 ww로 전환하고, 만약 딕셔너리에 기존 값이 키로 존재하지 않으면, 값을 그대로 보존하기를 바랬다. df['a_ma..

[pandas] idxmax, idxmin: 행, 열별 최댓값 및 최솟값의 인덱스 찾기

idxmax와 idxmin은 행별로 또는 열별로 최댓값 및 최솟값의 인덱스를 반환하는 메소드입니다. 어떤 열에서 최댓값을 갖는 데이터(인스턴스)의 인덱스를 추출할 때 유용하게 사용할 수 있을 것 같습니다.. parameter axis: 0(행, 행의 정보를 압축한다는 의미로 열별 결과를 반환) 또는 1(열, 열의 정보를 압축한다는 의미로 행별 결과를 반환)(default=0) skip: 결측값을 무시할지 여부를 설정(default=True), False인 경우 결측치를 포함한 행/열에 대해 NaN을 반환함 예시를 위해 사용할 임시 데이터를 만들었습니다. idx = ['row1','row2','row3', 'row4'] col = ['col1','col2','col3', 'col4'] data = [[20..

파이썬에서 가정 설정문 작성하는 방법: assert

깃허브에 공개된 오픈소스를 보다보면 종종 assert를 정의하는 부분이 있더라구요. 어떤 목적으로 사용되는지 궁금해서 서치를 갈겨봤습니다. assertion [əˈsɜːrʃn] 명사 1. (사실임을) 주장claim He was correct in his assertion that the minister had been lying. 그 장관이 거짓말을 하고 있었던 것이라는 그의 주장은 옳았다. 2. (권리 등의) 행사 the assertion of his authority 그의 권위 행사 assert는 조건이 True가 아니면 AssertError를 발생시킵니다. assert가 없으면 그냥 False라고 나타날 뿐이죠. a = 3 assert a == 2 ----------------------------..

article thumbnail
os.path 를 이용하여 파일 경로와 디렉토리 다루는 방법

파이썬으로 코딩을 할 때 다른 폴더나 파일에 대한 경로 접근이 필요할 때가 있습니다. 본 포스트에서는 파이썬 작업 시에 os.path 모듈을 이용해 파일 경로 및 디렉토리를 다루는 방법에 대해 알아보겠습니다. import os 1. 현재 작업 폴더 확인하기 os.getcwd() 2. 작업 폴더 변경하기 os.chdir('변경할 디렉토리 경로') 작업 폴더를 변경한 후, 다시 os.getcwd()를 이용해 작업 폴더를 확인해보면 경로가 변경된 것을 확인할 수 있습니다. 3. 특정 경로에 대해 절대경로 얻기 절대 경로란, 최초 디렉토리를 기준으로 경유한 경로를 모두 기입한 전체 경로를 의미합니다. 상대 경로는 절대 경로와는 다르게 최초 디렉토리가 아닌 특정 경로를 기준으로 경로를 기입하는 방식입니다. 주로 ..

반응형