tqdm 이란
- tqdm은 자동으로 진행 상태를 시각적으로 보여 주는 라이브러리입니다.
- 코딩을 하면서 가장 많이 사용하는 구문 중 하나는 for문일 것입니다.
- for문을 사용하면서, 반복을 굉장히 많이 하거나 반복문 내의 프로세스가 복잡하여 시간이 오래 소요될 경우 진행상황을 알기 위해 자주 사용합니다.
- 진행 상황을 progress bar로 보기 편하게 알려줍니다.
from tqdm import tqdm
import time
my_list = range(200)
for item in tqdm(my_list, desc="Processing"):
# 작업 내용
time.sleep(0.01)
tqdm 사용법
- Iterable-based
- 리스트를 포함한 어떤 이터러블 객체가 오든, tqdm()으로 감싸면 된다.
- parameters
- iterable : iterable,
- 진행률 표시를 위한 이터러블 객체
- desc : str,
- 프로그레스 바 표시 앞에 문자열을 출력해준다.
- total : int 또는 float,
- 전체 반복량
- ncols : int
- 진행바 컬럼의 길이. 픽셀 단위로 입력됨
- mininterval : float,
- 해당 시간차 마다 프로그레스 바 갱신
- iterable : iterable,
- Method
- clear() : 삭제
- refresh() : 강제 갱신
- range()를 사용하여 tqdm()으로 감쌀 경우, trange()를 사용하여 쉽게 사용할 수 있다.
tqdm을 터미널에서 사용하기
- 스크립트를 사용하면서, tqdm을 사용할 수 있습니다.
- 스크립트를 작성한 후에 | tqdm | 만 입력해주면 됩니다.
tqdm을 pandas에서 사용하기
- 대용량의 데이터를 처리할 때 pandas를 많이 사용합니다.
- pandas의 apply를 이용해 컬럼의 데이터를 일괄적으로 처리하곤 하는데, 진행 상황을 할 수 없어 ‘진행이 잘 되고 있나?’ 생각된 적이 많았습니다.
- 특히 텍스트 데이터를 전처리할때, 형태소 분석기 등을 사용하면 전처리 과정이 오래걸립니다.
- 이때 tqdm을 사용하면 편하게 진행상황을 시각화할 수 있는데요,
- tqdm을 아래와 같이 수행하여 pandas apply에서 진행 상황을 확인할 수 있습니다.
from tqdm import tqdm
import pandas as pd
tqdm.pandas()
test_df= pd.DataFrame({"col":np.random.rand(10000000)})
test_df["col"].progress_apply(lambda x : x**2)
- tqdm.pandas() 실행 후,
- apply 대신 progress_apply를 사용하면 됩니다.
Reference
https://tqdm.github.io/docs/tqdm/
https://skillmemory.tistory.com/entry/tqdm-사용법-python-진행률-프로세스바
https://velog.io/@hyunicecream/딥러닝-유용한-기능-tqdm-and-tqdmnotebook
'데이터 > Python' 카테고리의 다른 글
[코딩테스트 준비] 코딩테스트 입문자 '코드트리' 사용후기 (1) | 2024.03.02 |
---|---|
[파이썬] 클래스 사용하기 (0) | 2023.06.18 |
[파이썬/Python] 클로저, closure (0) | 2023.01.29 |
[파이썬] 리스트 (0) | 2022.05.12 |