groupby + transform을 사용하면 집계 결과를 열로 만들 수 있다.
먼저 다음 예제 코드를 보자
import pandas as pd
data = {'학생': ['김판다', '강승주', '조민영', '최진환', '박연준', '고준희'],
'반': ['A', 'A', 'B', 'B', 'B', 'C'],
'점수': [0, 100, 20, 40, 60, 30]}
df = pd.DataFrame(data)
이 df를 활용해 그림처럼 소속반의 평균이 담긴 열을 만들어보자
예를 들어 A반의 학생은 첫번째 행의 김판다와 두번째 행의 강승주이다. 둘의 점수가 0점과 100점이니 A반의 평균은 50이 되고 A반 소속인 김판다와 강승주의 데이터는 반평균열에서 둘다 50이 된다
방법
groupby + transform을 사용하면 집계 결과를 열로 만들 수 있다.
df['반평균'] = df.groupby('반')['점수'].transform('mean')
결과 (df):
유튜브에서 판다스 강의중입니다
https://www.youtube.com/@KimPandas/videos
'판다스 > 판다스 팁' 카테고리의 다른 글
[pandas] csv 파일에서 따옴표 안의 콤마(,)는 seperator로 적용하고 싶지 않을 때 (0) | 2023.09.05 |
---|---|
[pandas] 날짜(timestamp)에서 특정 기간이 흐른 뒤의 날짜를 반환하는 방법 (0) | 2023.09.05 |
Timedelta 자료형을 실수(float)로 바꾸는 방법 (0) | 2023.08.30 |
apply를 무분별하게 쓰면 안되는 이유 (0) | 2023.08.25 |
[pandas] 엑셀의 날짜가 숫자로 읽어질 때 datetime으로 변환하는 방법 (0) | 2023.08.25 |