본문 바로가기

Python48

[Pandas] Groupby + (Transform/Filter/Apply함수) 2025.02.24 - [프로그래밍/Python 관련 정보] - [Pandas] Table of ContentsGroupby 후 추가적인 기능을 달아서 사용할 수도 있습니다. agg는 Groupby 포스팅에서 상세히 다루었기 때문에 이 부분은 제외하고 나머지 transform, filter, apply에 대해서 알아보겠습니다. 1. Groupby + Transform가끔 데이터프레임에서 연산을 수행하다가 그룹별로 연산을 수행하되 원본 데이터의 행(크기)은 유지한채 남겨두고 싶을 때가 있습니다(=그룹별 연산 후 결과를 원본 row 개수와 동일하게 반환). SQL로 비교하자면 Partition by 를 통해 계산하는 Window함수를 상상하시면 되고, Tableau를 생각하면 VLOD연산에서 Exclude .. 2025. 2. 5.
[Pandas] groupby + agg 의 활용 2025.02.24 - [프로그래밍/Python 관련 정보] - [Pandas] Table of Contents판다스 DataFrame에서 데이터를 처리할 때, 칼럼 별로 다른 집계를 사용한다든가 한 칼럼에 여러 집계를 하고 싶을 때가 있습니다. SQL로 비유하자면 id별 groupby 후 select를 할 때 avg(A_col), sum(B_col), avg(B_col) 을 한꺼번에 계산하는 상황을 떠올리면 될 것 같습니다.  이 때는 agg()를 활용해주면 됩니다. 더보기import pandas as pddata = { '카테고리': ['A', 'B', 'A', 'B', 'C', 'A', 'C'], '값1': [10, 20, 30, 40, 50, 60, 70], '값2': [100, .. 2025. 2. 5.
[Python - Frequently Used Code] pandas DataFrame 문자열 대체 이번 포스팅에서는 파이썬의 문자열 대체 방법에 대해서 한 번 정리해보도록 하겠습니다. 여느 때와 비슷하게 제가 나중에 찾아보려는 포스팅입니다. 1. str.replace()str.replace(old, new[, count]) old : 대체하고자 하는 문자열new : 새로 대체할 문자열count : 바꿀 횟수 (생략 시 모든 문자열 대체) 문자열 column(Series)에 대해 개별 문자열 데이터를 대체할 때 사용합니다. 기본 문자열 매서드로 문자열의 일부만 일치해도 해당 부분이 대체됩니다. import pandas as pddf = pd.DataFrame({'text': ['hello world', 'worldwide', 'hello']})df['text'] = df['text'].str.repla.. 2025. 2. 4.
[Python - Frequently Used Code] Random 패키지 random.random() : 0.0 이상 1.0 미만의 실수를 반환합니다.import random# 0.0 이상 1.0 미만의 난수 생성result = random.random()print(result) # 예: 0.7457397453918837 random.randint(a, b) : a 이상 b 이하의 정수(int)를 무작위로 반환합니다. 주의) 경계값 a, b가 포함됩니다.import random# 1 이상 10 이하의 정수 난수 생성result = random.randint(1, 10)print(result) # 예: 4 random.sample(population, k) : 주어진 리스트(population)에서 k개의 요소를 무작위로 비복원추출합니다.import random# 리스트에서.. 2024. 12. 18.
[Python - Frequently Used Code] Class input argument 코딩하다가 자주 (제가...) 마주치는 오류를 정리해보려고 합니다. 일단 제가 자주 범하는 실수는 ... 만일 함수나 클래스의 인풋 자체가 class일 경우인데요. class와 그 class의 instance는 분명 다른 개념입니다. 이런 경우에는 애초에 input argument로 instance를 받거나 그도 아니면 받아들이는 클래스 내부에서 instance화 해주어야 합니다.  # 올바른 방식1 : instance를 전달engine_instance = Engine(horsepower=150)car = Car(engine_instance)# 올바른 방식2 : 내부에서 instance화class Car: def __init__(self, engine): if isinstance(eng.. 2024. 11. 22.
[Graph Neural Networks] NetworkX & Pytorch Geometric 2025.06.08 - [Data & Research] - [Graph Neural Networks] Table of Contents복잡한 딥러닝 구조에서 그래프를 다루기 전에 NetworkX, Pytorch Geometric 패키지를 이용해서 기본적인 그래프 속성을 다루는 연습을 해보겠습니다. 1. NetworkXimport networkx as nximport numpy as npimport matplotlib.pyplot as plt# 노드와 엣지 리스트 정의node_list = [1, 2, 3, 4, 5]edge_list = [(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 3), (2, 5), (3, 1).. 2024. 11. 21.