Notice
Recent Posts
Recent Comments
Link
아미(아름다운미소)
계산 후 join 본문
import pandas as pd
# 예제 데이터 생성
data = {
'a': ['A', 'A', 'B', 'B', 'C', 'C'],
'b': [1, 1, 2, 2, 3, 3],
'c': [10, 10, 20, 20, 30, 30],
'd': [100, 100, 200, 200, 300, 300],
'e': [5, 10, 15, 20, 25, 30],
'f': [30, 40, 50, 60, 70, 80]
}
df = pd.DataFrame(data)
# a, b, c, d로 그룹화하고 e의 합계 계산
grouped = df.groupby(['a', 'b', 'c', 'd'])['e'].sum().reset_index()
# f - e 계산
grouped['f - e'] = df.groupby(['a', 'b', 'c', 'd'])['f'].sum().values - grouped['e']
# 몫과 나머지 계산
grouped['count'] = df.groupby(['a', 'b', 'c', 'd']).size().values
grouped['quotient'] = grouped['f - e'] // grouped['count']
grouped['remainder'] = grouped['f - e'] % grouped['count']
# Left Join 수행
merged_df = pd.merge(df, grouped, on=['a', 'b', 'c', 'd'], how='left')
# 결과 확인
print(merged_df)
'랭귀지 > pandas' 카테고리의 다른 글
b컬럼이 음수면 -1을 해당수만큼넣고 양수면 1을 해당수만큼 넣기 (0) | 2024.08.12 |
---|---|
pandas df와 df를 groupby sum한 a컬럼을 outer join하면 결과는? (0) | 2024.08.12 |
pandas df a,b,c,d groupby 후 e컬럼을 sum 한후e와 d값을 비교후 (e-d) 값을 f가 가장작은 row의 d값에 더해준다 (0) | 2024.08.07 |
pandas df에서 a,b,c,d컬럼으로 groupby 했을때 e컬럼이 모두 null이면 1/(해당 row 수) 를 소숫점 5째 자리에서 반올림한 값을 넣어준다 (0) | 2024.08.07 |
pandas df1의 a컬럼으로 df2 a컬럼 검색 (0) | 2024.08.07 |
Comments