About/Python (23) 썸네일형 리스트형 [Python] 판다스(Pandas)에서 DataFrame 행 반복 처리하기 - iterrows 판다스(Pandas)는 파이썬에서 데이터 분석을 위해 널리 사용되는 라이브러리입니다. 이 글에서는 판다스의 DataFrame에서 행을 반복(iterate) 처리하는 방법에 대해 알아보겠습니다. DataFrame 행 반복의 기본: iterrows() 판다스에서 DataFrame의 각 행을 반복하는 기본적인 방법은 iterrows() 함수를 사용하는 것입니다. 이 함수는 DataFrame의 행을 (인덱스, 시리즈) 쌍으로 반복합니다. 예시 코드 import pandas as pd # 예제 DataFrame 생성 df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) # iterrows를 사용하여 행 반복 for index, row in df.iterrows(): prin.. [Python] Python 3.10에서 새롭게 도입된 패턴 매칭 기능 (match-case) 파이썬 3.10 버전에서 소개된 중요한 새로운 기능 중 하나는 패턴 매칭입니다. 이 기능은 다양한 데이터 타입과 구조를 더 직관적이고 유연하게 처리할 수 있도록 해줍니다. 패턴 매칭이란? 패턴 매칭은 주어진 데이터 구조를 특정 패턴과 비교하여, 해당 패턴에 부합하는지 여부를 확인하는 프로세스입니다. 이 기능은 많은 함수형 프로그래밍 언어에서 일반적으로 사용되며, 파이썬 3.10에서는 match 문과 case 문을 통해 구현됩니다. 기본 구조 match 대상_변수: case 패턴1: # 패턴1과 일치할 때 실행되는 코드 case 패턴2: # 패턴2와 일치할 때 실행되는 코드 ... 사용 예시 아래 예시는 파이썬 3.10의 패턴 매칭 기능을 보여줍니다: def greet(person): match perso.. [Python] Context Manager(컨텍스트 관리자) Context Manager 컨텍스트 매니저는 원하는 타이밍에 정확하게 리소스를 할당하고 제공하는 역할을 합니다. 보통 리소스 관리와 관련하여 Context Manager를 자주 사용합니다. 일단 파일을 열면 파일 디스크립터의 누수(resource leak)을 막기 위해 작업이 끝나면 적절히 닫히길 기대합니다. 또는 서비스나 소켓에 대한 연결을 열었을 때도 적절히 닫거나 임시 파일을 제거하는 등의 작업을 해야합니다. 위와 같은 경우에 일반적으로 할당된 모든 리소스를 해제해야 합니다. 모든 것이 잘 처리되었을 경우의 해제는 쉽지만 예외가 발생하거나 오류를 처리해야 하는 경우 모든 조합과 실행 경로에 대하여 처리하는 것은 쉽지 않습니다. 이 때 일반적으로 finally 블록에 정리 코드를 넣는 방법이 있습니.. [Python] 코드 검사 자동화(Mypy를 사용한 타입 힌팅, Pylint를 사용한 코드 검사) Mypy를 사용한 타입 힌팅 Mypy http://mypy-lang.org/ mypy - Optional Static Typing for Python Why mypy? Compile-time type checking Static typing makes it easier to find bugs with less debugging. Easier maintenance Type declarations act as machine-checked documentation. Static typing makes your code easier to understand and easier to modify without mypy-lang.org Mypy는 파이썬에서 가장 일반적으로 사용하는 정적 타입 검사 도구입니다. my.. [Python] 어노테이션(Annotation) vs docstring 이전 포스팅에서 docstring과 어노테이션에 대해 다루어 봤는데, 이번 포스팅에서는 이 둘의 관계와 차이에 대하여 알아보겠습니다. 2022.03.10 - [About/Python] - [Python] Docstring에 대하여 2022.03.17 - [About/Python] - [Python] 어노테이션(Annotation)에 대하여 어노테이션은 docstring을 대체하는 것일까? 어노테이션이 소개되기 오래전부터 함수의 파라미터 또는 속성의 타입을 문서화할 때 docstring을 사용했었기 때문에 docstring 대신 어노테이션을 사용해야 하는 것인지에 의문을 가질 수 있습니다. 대답은 "예" 입니다. docstring과 어노테이션은 서로 보완적인 개념이기 때문입니다. docstring에 포함.. [Python] 어노테이션(Annotation)에 대하여 어노테이션(Annotation) PEP-3107에서는 어노테이션을 소개합니다. https://peps.python.org/pep-3107/ PEP 3107 – Function Annotations | peps.python.org PEP 3107 – Function Annotations PEP 3107 Title Function Annotations Author Collin Winter , Tony Lownds Status Final Type Standards Track Created 02-Dec-2006 Python-Version 3.0 Post-History Contents This PEP introduces a syntax for adding arbitrary metada peps.python.org.. [Python] Docstring에 대하여 Docstring docstring은 소스 코드에 포함된 문서(document)라고 말할 수 있습니다. docstring은 기본적으로 리터럴 문자열이며, 로직의 일부분을 문서화하기 위해 코드 어딘가에 배치됩니다. 문서(documentation)라는 단어에 주목해보면, "이유"가 아니라 "설명"입니다. 따라서 docstring은 주석을 다는 것이 아니라 코드의 특정 컴포넌트(모듈, 클래스, 메서드 또는 함수)에 대한 문서화입니다. 이런 컴포넌트에 사용하는 것은 허용될 뿐 아니라 권장되는 부분입니다. 가능한 많은 docstring을 추가하는 것이 좋습니다. docstring을 코드에 포함시키는 것이 좋은 이유는 파이썬이 동적 타이핑을 하기 때문입니다. 예를 들어 함수는 파라미터의 값으로 무엇이든 사용될 수 .. [Python] 파이썬 코드 스타일(PEP-8)을 따라야하는 이유 PEP 8이란? https://peps.python.org/pep-0008/ PEP 8 – Style Guide for Python Code | peps.python.org PEP 8 – Style Guide for Python Code PEP 8 Title Style Guide for Python Code Author Guido van Rossum , Barry Warsaw , Nick Coghlan Status Active Type Process Created 05-Jul-2001 Post-History 05-Jul-2001, 01-Aug-2013 Contents This document gives coding con peps.python.org PEP 8은 "Style Guide for Python.. [Python] fucntools.lru_cache() - 함수의 결과 캐싱 파이썬의 표준 라이브러리에 있는 functools.lru_cache() 는 함수의 결과를 캐시해 주는 함수 데커레이터입니다. 같은 인수를 전달했던 호출 결과가 이미 캐시되어 있으면 함수를 실행하지 않고 캐시 결과를 반환합니다. 함수의 인수와 결과는 딕셔너리를 이용해서 연결하기 때문에 @lru_cache()를 붙인 함수의 인수는 숫자, 문자열, 튜플과 같이 딕셔너리의 key로 사용할 수 있는 객체를 사용해야 합니다. 예시 n번째 피보나치 수를 반환하는 함수 my_fibo() 함수는 재귀함수로 구현되어 있습니다. n이 커질수록 엄청나게 많은 함수가 중복되어 실행되기 때문에 실행 시간이 오래걸리게 됩니다. 1 2 3 4 5 6 7 8 9 10 11 from time import time def my_fibo(.. [Python] IPython을 사용한 Unix/Linux 셸 명령어 실행 - (IPython.utils.SList에 대하여) https://ipython.org/ Jupyter and the future of IPython — IPython IPython provides a rich architecture for interactive computing with: A powerful interactive shell. A kernel for Jupyter. Support for interactive data visualization and use of GUI toolkits. Flexible, embeddable interpreters to load into your own projects. E ipython.org IPython 설치는 설치 프로그램에 따라 다음과 같이 설치합니다. brew install ipython conda.. 이전 1 2 3 다음