본문 바로가기

Python283

Python 하나의 행씩 추가하여 판다스 데이터프레임 생성하기, Create a Pandas Dataframe by appending one row at a time 질문 빈 DataFrame을 만든 다음에 하나씩 행을 추가하는 방법은 어떻게 하나요? 빈 DataFrame을 만들었습니다: df = pd.DataFrame(columns=('lib', 'qty1', 'qty2')) 그런 다음 새로운 행을 끝에 추가하고 하나의 필드를 채울 수 있습니다: df = df._set_value(index=len(df), col='qty1', value=10.0) 한 번에 하나의 필드에 대해서만 작동합니다. df에 새로운 행을 추가하는 더 나은 방법은 무엇인가요? 답변 df.loc[i]를 사용할 수 있습니다. 여기서 인덱스 i의 행은 데이터프레임에서 지정한 대로 될 것입니다. >>> import pandas as pd >>> from numpy.random import randin.. 2023. 5. 24.
Python 프로그램을 중단/종료하지 않고 전체 예외 추적을 잡아서 출력하는 방법은 무엇인가요?, How to catch and print the full exception traceback without halting/exiting the program? 질문 나는 종료하지 않고 예외를 잡고 기록하고 싶습니다. 예를 들어, try: do_stuff() except Exception as err: print(Exception, err) # 여기에서 전체 추적을 인쇄하고 싶습니다. # 예외 이름과 세부 정보뿐만 아니라 나는 예외가 발생할 때 try/except가 예외를 가로채는 것 없이 정확히 같은 출력을 인쇄하고 싶으며, 내 프로그램에서 종료되지 않기를 원합니다. 답변 traceback.format_exc() 또는 sys.exc_info()는 원하는 정보가 있다면 더 많은 정보를 제공합니다. import traceback import sys try: do_stuff() except Exception: print(traceback.format_exc()) #.. 2023. 5. 24.
Python 선행 0이 있는 숫자 표시 [중복], Display number with leading zeros [duplicate] 질문 2자리 미만의 모든 숫자에 대해 선행 0을 표시하는 방법은 무엇인가요? 1 → 01 10 → 10 100 → 100 답변 파이썬 2 (그리고 파이썬 3)에서 다음을 수행할 수 있습니다: number = 1 print("%02d" % (number,)) 기본적으로 %는 printf 또는 sprintf와 같습니다 (문서 참조). Python 3.+의 경우, 동일한 동작은 format으로도 달성할 수 있습니다: number = 1 print("{:02d}".format(number)) Python 3.6+의 경우, 동일한 동작은 f-strings로도 달성할 수 있습니다: number = 1 print(f"{number:02d}") 2023. 5. 24.
내 Python site-packages 디렉토리의 위치를 어떻게 찾을 수 있나요?, How do I find the location of my Python site-packages directory? 질문 내 site-packages 디렉토리의 위치를 어떻게 찾을 수 있나요? 답변 사이트 패키지 디렉토리에는 전역과 사용자별 두 가지 유형이 있습니다. 전역 사이트 패키지("dist-packages") 디렉토리는 다음을 실행할 때 sys.path에 나열됩니다: python -m site 더 간결한 목록을 원하면 Python 코드에서 site 모듈에서 getsitepackages를 실행합니다: python -c 'import site; print(site.getsitepackages())' 경고: 가상 환경에서는 virtualenv의 이전 버전에서는 getsitepackages를 사용할 수 없으며, 위의 sys.path는 가상 환경의 사이트 패키지 디렉토리를 올바르게 나열합니다. Python 3에서는 대신.. 2023. 5. 24.