본문 바로가기

파이썬

(8)
[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..
[Algorithm] 삼성 SW 역량 테스트(코딩 테스트) 자주 나오는 알고리즘 유형 정리(유형별 Python Code 및 문제) 본 포스팅에서 삼성 SW 역량 테스트를 준비하며 자주 출제되는 문제를 알고리즘 별로 정리하고 Python 예시 코드를 살펴보겠습니다. 삼성 SW 역량 테스트 기출 문제는 Baekjoon Online Judge 문제를 기준으로 하였습니다. 또한 각 알고리즘을 푸는 방식은 여러 방법이 존재할 수 있습니다. https://www.acmicpc.net/workbook/view/1152 문제집: 삼성 SW 역량 테스트 기출 문제 (baekjoon) www.acmicpc.net 1. 기본 알고리즘 삼성 기출 문제는 보통 2차원 배열을 이용한 구현, 시뮬레이션 문제를 주로 다룹니다. 비교적 최근 문제인 컨베이어 벨트 위의 로봇(https://www.acmicpc.net/problem/20055) 문제는 1차원 배열로..
[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..
[백준 8972] 미친 아두이노(Python 풀이) https://www.acmicpc.net/problem/8972 8972번: 미친 아두이노 요즘 종수는 아두이노를 이용해 "Robots"이라는 게임을 만들었다. 종수는 아두이노 한대를 조정하며, 미친 아두이노를 피해다녀야 한다. 미친 아두이노는 종수의 아두이노를 향해 점점 다가온다. www.acmicpc.net 풀이 문제 조건만 잘 확인해서 구현하면 쉽게 풀리는 문제였습니다. 입력 1 2 3 R, C = map(int, input().split(' ')) board = [list(map(str, input())) for _ in range(R)] moves = list(map(int, input())) cs 연속된 문자열 형태로 입력되기 때문에 위와 같이 map을 이용하여 list 형태로 입력받습니다...
[백준 20058] 마법사 상어와 파이어스톰(Python 풀이) https://www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net 풀이 이번 문제는 배열의 회전, BFS를 이용하여 풀 수 있습니다. 풀이는 다음과 같습니다. 우선 다음과 같이 입력을 받습니다. N, Q = map(int, input().split(' ')) # N, Q len_board = 2 ** N # 얼음을 저장할 보드의 길이 board = [list(map(int, input().split(' '))) for _ in range(le..
[Python] Flask 변수와 컨버터 변수와 컨버터 Flask의 라우팅 시스템은 '변수' 기능을 제공한다. 구문을 이용하여 변수를 사용할 수 있다. 이 표기법은 거의 표준처럼 사용되고 있으며, 이렇게하여 엔드포인트를 동적으로 표현할 수 있다. 예를 들어 고유한 사용자 ID를 N으로 표현한다고 할 때 ./person/N에 대한 요청을 처리하는 함수를 만들려면 route에 /person/를 인수로 넘겨주면 된다. Flask가 데코레이트 함수를 호출할 때 URL에서 위치의 값을 person_id 인수로 변환해준다. 예시 코드는 다음과 같다. from flask import Flask, jsonify app = Flask(__name__) @app.route('/api/person/') def person(person_id): resp = json..