Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- PER
- MySQL
- tensorflow
- 라즈베리파이
- urllib
- 맛집
- port
- ASP
- 다이어트
- sqlite
- 리눅스
- ubuntu
- mssql
- swift
- node.js
- javascript
- MS-SQL
- Excel
- python
- 유니티
- pandas
- Linux
- 날짜
- 함수
- IOS
- GIT
- PyQt
- flutter
- Unity
- PyQt5
Archives
아미(아름다운미소)
pandas df a,b,c,d groupby 후 e컬럼을 sum 한후e와 d값을 비교후 (e-d) 값을 f가 가장작은 row의 d값에 더해준다 본문
랭귀지/pandas
pandas df a,b,c,d groupby 후 e컬럼을 sum 한후e와 d값을 비교후 (e-d) 값을 f가 가장작은 row의 d값에 더해준다
유키공 2024. 8. 7. 14:30import pandas as pd
# 예시 DataFrame 생성
data = {
'a': ['A', 'A', 'B', 'B', 'C'],
'b': [1, 1, 2, 2, 3],
'c': [5, 5, 6, 6, 7],
'd': [10, 20, 10, 30, 40],
'e': [5, 15, 5, 25, 35]
}
df = pd.DataFrame(data)
# 그룹화하여 e 컬럼의 합계 계산
grouped = df.groupby(['a', 'b', 'c'])['e'].sum().reset_index()
# e와 d 비교 후 (e - d) 계산
grouped['d'] = df.groupby(['a', 'b', 'c'])['d'].first().values # d 값을 가져옴
grouped['difference'] = grouped['e'] - grouped['d']
# (e - d)가 가장 작은 row 찾기
min_row = grouped.loc[grouped['difference'].idxmin()]
# 해당 row의 d 값에 수정할 값을 더하기
df.loc[df['d'] == min_row['d'], 'd'] += min_row['difference']
# 결과 출력
print(df)
'랭귀지 > pandas' 카테고리의 다른 글
pandas df와 df를 groupby sum한 a컬럼을 outer join하면 결과는? (0) | 2024.08.12 |
---|---|
계산 후 join (0) | 2024.08.12 |
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 |
pandas Coalesce (0) | 2024.08.06 |
Comments