반응형
데이터프레임 DataFrameGroupBy SeriesGroupBy |
.size() |
시리즈 | .size |
데이터 불러오기
grp 컬럼으로 그룹핑 → grouped
first를 이용해 그룹화된 데이터프레임을 살펴본다.
타입은 DataFrameGroupBy이기에
.size()를 이용해야 한다.
각 그룹별 행의 개수를 보자
grouped의 하나의 컬럼별로, 행의 개수를 세기 위해선 size() 일까 size일까
위에 나온대로 하나의 컬럼을 선택하면
유형은 SeriesGroupBy로 나타난다.
이를 시리즈라고 생각해, .size를 이용한다면
에러는 나지 않으나 원하는 대로 시리즈가 보이지 않는다.
이에 .size()를 이용하면 보고 싶은 결과가 나타난다.
따라서 SeriesGroupBy도 .size()를 이용해야함을 알 수 있다.
agg메서드를 이용할 땐 어떻게 될까
agg 메서드를 이용하면
그룹별로 val 컬럼의 행의 개수를 세게된다.
예를 들어 A그룹의 val 컬럼을 보자면
이러한 흐름이므로
A그룹의 val 컬럼은 시리즈,
따라서 .size를 이용한다.
이전 포스팅에 의하면
(https://steadiness-193.tistory.com/35)
agg() 메서드 안의 컬럼을 기준으로 모든 값이 통일 된다고 했다.
즉,
val컬럼의 값을 val2 컬럼이 받는다는 것이다.
다만 size는 누락값에 관계없이 행의 개수를 세기에 값이 다를 리가 없다.
[주의할 점]
사실 컬럼 지정 없이 바로
size를 이용하면 같은 결과를 얻을 수 있다.
다만, 뒤에 나올 filter 메서드에선
컬럼 지정을 하지 않으면 이상한 결과가 나오니
꼭 컬럼명을 명시하는 습관을 기르자
반응형
'Pandas > 응용' 카테고리의 다른 글
판다스 - groupby : apply (0) | 2020.06.23 |
---|---|
판다스 - groupby : filter (len, size, count) (0) | 2020.06.22 |
판다스 - groupby : aggregate (agg 메서드 안의 기준 컬럼, count 이용) (0) | 2020.06.22 |
판다스 - groupby : aggregate (0) | 2020.06.22 |
판다스 - groupby (0) | 2020.06.22 |