1. 집계함수 기준
** func = lambda g: g.mean() | |||
grouped.apply(func) |
전체 그룹별 집계함수 같다 |
grouped.agg(func) grouped.agg('mean') |
|
grouped.컬럼.apply(func) |
그룹의 컬럼별 집계 함수 같다 |
grouped.컬럼.agg(func) grouped.컬럼.agg('mean') |
|
grouped.apply (lambda g: g.컬럼.mean()) |
메서드 안의 컬럼 명시 다르다 |
grouped.agg (lambda g: g.컬럼.mean()) |
데이터 불러오기
func = lambda g: g.mean()
전체 그룹별 집계함수 비교
모두 동일하다.
그룹의 컬럼별 집계 함수
이 또한 모두 동일하다.
메서드 안의 컬럼 명시
분명히 다르다.
agg 메서드의 결과가 왜 이렇게 나오는지는 이전 포스팅 참조
https://steadiness-193.tistory.com/35
판다스 - groupby : aggregate (agg 메서드 안의 기준 컬럼, count 이용)
데이터 불러오기 C 컬럼의 초성별로 그룹화 했다. count 각 컬럼별 누락값을 제외한 값을 셌다. 1보다 큰 값을 가지는 불린 데이터프레임도 나타냈다. 여기서 agg() 메서드를 이용해보자 위의 결과��
steadiness-193.tistory.com
2. 개별 원소에 적용 가능 여부
apply | 가능 |
agg | 불가능 |
자세한 내용은 아래 포스팅 참조
https://steadiness-193.tistory.com/39
판다스 - groupby : apply
가장 일반적인 Groupby 메서드의 목적은 apply이다. 아니 agg를 쓰면 되지 굳이? agg는 이전 포스팅에서 설명한 바와 같이 사용자 정의 함수를 이용할 수 있지만, 집계함수에 한해 가능하다. 즉 판다스
steadiness-193.tistory.com
** agg에 대한 활용은 아래 포스팅 참조
https://steadiness-193.tistory.com/34
판다스 - groupby : aggregate
데이터 불러오기 tips의 데이터를 size 컬럼 별로 그룹화했다. (size는 1, 2, 3, 4, 5, 6 의 값으로 구분된다.) 그룹화가 어떻게 되어있는지 확인을 위해 first를 사용한다. 이번에 설명할 aggregate는 groupby..
steadiness-193.tistory.com
[groupby 메서드 들의 결론]
apply | 1. 시리즈도, 데이터프레임도 받을 수 있다. 2. 개별 원소와 그룹별로도 적용 가능하다. 3. 사용자 함수 사용에 장벽이 없다. 즉, 다방면으로 사용하기 좋다 |
agg | 0. 연산 가능한 컬럼만 알아서 필터링 1. 집계함수 2. [집계함수, 집계함수, ..., 집계함수] 3. {컬럼: 함수, 컬럼: 함수, ..., 컬럼: 함수} |
transform | 0. 연산 가능한 컬럼만 알아서 필터링 1. 기존 인덱스를 유지하며 출력 2. 1번의 장점으로 새로운 열로 추가하기 편함 |
'Pandas > 응용' 카테고리의 다른 글
판다스 - groupby : apply, filter 등 주의할 점 (0) | 2020.06.23 |
---|---|
판다스 - groupby 메서드들의 활용 방안 (0) | 2020.06.23 |
판다스 - groupby : apply와 transform (차이) (0) | 2020.06.23 |
판다스 - groupby : transform(응용) (0) | 2020.06.23 |
판다스 - groupby : transform (0) | 2020.06.23 |