<집계>
수집한 데이터를 바탕으로 평균/합 등을 구하여 값을 도출해 내는 것
- 전체 데이터를 요약, 정리하여 볼 수 있기 때문에 분석이 훨씬 편해진다.
- groupby 메서드로 평균값을 구하는 과정을 통해 데이터 집계가 무엇인지 알아보기
▼ year 열을 기준으로 데이터를 그룹화한 다음 lifeExp 열의 평균을 구한 것.
△△△△위에서 groupby메서드가 어떤 과정을 통해서 집계되는지 알아보기▼▼▼▼▼
1. year 열의 데이터를 중복없이 추출한 것. groupby 메서드에 열 이름을 전달하면 이런 '분할'작업이 먼저 일어난다.
2. 연도별 평균값 구하기.
▶ 그러기 위해서 각 연도별 데이터를 추출, 1952년의 데이터를 추출한 것이다.
- 이 과정을 '반영' 작업의 한 부분
3. 위에 2번에서 추출한 1952년의 데이터에서 lifeExp열의 평균값을 구하기
- 이 과정도 '반영'작업의 한 부분임.
4. 2~3번을 반복해서 다른 연도의 평균값을 모두 구하기
- 이거까지가 '반영' 작업
5. 그리고 연도별로 계산한 lifeExp의 평균값합치기 ▶ '결합' 작업
<groupby메서드와 함께 하는 집계 메서드..☆★>
count | 누락값을 제외한 데이터 수 반환 |
size | 누락값을 포함한 데이터 수 반환 |
mean | 평균값 |
std | 표준편차 |
min | 최솟값 |
quantile(q=0.25) | 백분위수 25% |
quantile(q=0.50) | 백분위수 50% |
var | 분산 |
sem | 평균의 표준편차 |
describe | 데이터 수, 평균, 표준편차, 최소값, 백분위수(25,50,75%), 최댓값 모두 반환 |
first | 첫 번째 행 |
last | 마지막 행 |
nth | n번째 행 |
▶ 집계 메서드로 원하는 값을 계산할 수 없으면 직접 함수를 만들어서 써야함.
▶▶▶▶▶ 사용자 함수 + groupby 메서드 = agg 메서드 이용해야함 예시는 아래 ▽▽
<평균값을 구하는 사용자 함수와 groupby 메서드>
1. 열의 평균값을 구하는 함수 만들어줌 > 하나씩 더해서 길이 n 으로 나눠주기
2. 그래서 agg 메서드를 사용한 것. 사용자 함수 my_mean을 적용해줬지만 결과를 보면 mean이랑 똑같다
<인자값 2개를 줘서 쓰는 사용자 함수 + groupby 메서드>
1. 2개의 인잣값을 받는 사용자 정의함수를 만들어보겠다. 평균에 두번째 인자값을 빼는 함수다
2. 연도별 평균 수명 - 전체 평균 수명을 빼봤다. 인잣값의 수 만큼 전달하니 그대로 반환이 되었다.
<여러 개의 집계 메서드를 한 번에 사용하기>
물론 describe 도 있지만 거기에 포함되어 있지 않은 다른 집계 메서드를 한꺼번에 사용하고 싶다면?
▶ 리스트나 딕셔너리에 담아 agg 메서드에 전달하면 된다.
▼ 딕셔너리는 key : 열 이름 / value : 집계 메서드로 전달해서 각기 따로 할 수 있다.
'데이터분석 > Pandas&Numpy' 카테고리의 다른 글
pandas 데이터 필터링 filter 메서드 (0) | 2023.07.14 |
---|---|
pandas 데이터 변환 / transform() - 누락값 평균값으로 채우기 (0) | 2023.07.14 |
python opencv 설치 / 이용 및 데이터 전처리 (0) | 2023.07.12 |
pandas apply와 lambda 만남으로 데이터 가공 (0) | 2023.07.07 |
pandas 결손 데이터를 처리하는 isna, fillna (0) | 2023.07.07 |