이전에 배웠던 기준에 따라 선택된 데이터들끼리 연산하는 것이 Apply이다.
Aggregation
: sum, median, max, min 같이 값들을 하나로 요약하는 과정이다.
이런 식으로 aggregate와 함께 연산을 써주면, key로 분류된 데이터들 각각에 min, medianm, max 연산을 해주고 그 결과를 보여준다. 이렇게 모든 열(data1, data2)에 같은 연산을 한번에 할 수도 있지만, 각 열에 다른 연산도 가능하다.
이렇게 data1에는 min연산을하고, data2에는 max연산을 해줄 수도 있다.
Filter
: 그룹을 기준으로 특정 조건에 맞는 데이터만 남기는 과정이다. 예들 들면 그룹 별 평균이 특정 값 이상인 데이터만 남기는 것
왜 groupby된 데이터 프레임이 나오지 않고, 원본 데이터 형식으로 나오는가?
: groupby().filter() 메서드는 조건을 충족하는 그룹을 원본 데이터 프레임에서 해당 하는 행을 남기기 때문이다. 즉, groupby된 데이터 프레임이 필터가 되더라도 결과는 원본 데이터에서 해당 조건에 해당하는 행들이 출력된다.
Transformation
: 데이터를 그룹별로 변환하지만 형태는 원래 데이터와 같은 형태를 유지한다. 예들 들면 데이터의 표준화나 정규화 등을 수행하는 것
Apply
: 그룹에 대해서 사용자 정의 연산을 구현하여 적용하는 것
위의 과정은 각 그룹화된 데이터의 data2의 값의 합을 그룹화 된 데이터 각각의 data1에 나누기해서 저장한 결과이다.
즉, A의 data2 합은 8이므로, data1이 0인 A는 data1이 0.000000으로 변경되고, data1이 3인 A는 data1이 0.375000으로 변경되는 것이다.
'2학년 2학기 > 데이터 사이언스 입문' 카테고리의 다른 글
9주차 - split, apply, pivot table을 이용해서 실습해보기 (0) | 2024.10.31 |
---|---|
[pandas] Pivot Tables (0) | 2024.10.29 |
[pandas] GroupBy: Split (0) | 2024.10.29 |
데이터 프레임 필터링 방식 (0) | 2024.10.17 |
[pandas] Combining Datasets (0) | 2024.10.16 |