브리프유 브리프유 로그인
자청의 유튜브 추출기

유튜브 영상의 자막과 AI요약을 추출해보세요

AI 채팅

BETA

데이터 그룹화 & 요약! groupby와 피벗테이블로 데이터 분석 전문가 되기 (ft. Pandas)

게시일: 작성자: 자청의 유튜브 추출기

데이터 프레임 그룹화 쉽게 이해하기!

이번 시간에는 데이터를 그룹으로 묶어서 요약하는 방법을 배울 거야. 마치 반 친구들끼리 모여서 평균 점수를 내거나, 학년별로 모여서 좋아하는 과목을 알아보는 것처럼 말이지!

1. 그룹바이는 뭐고, 어떻게 쓸까?

groupby()는 데이터를 특정 기준에 따라 묶어주는 마법 같은 기능이야.

  • 학년별 평균 구하기:

    • 학년이 1학년, 2학년, 3학년 이렇게 나뉘어 있잖아?
    • groupby('학년')을 쓰면 1학년끼리, 2학년끼리, 3학년끼리 묶어줘.
    • 그 다음에 .평균()을 붙이면 각 학년별 평균 점수를 알 수 있지!
    • 반별로도 똑같이 할 수 있어. groupby('반').평균() 이렇게!
  • 여러 기준으로 묶기:

    • 학년이랑 반, 두 가지 기준으로 묶고 싶을 때도 있어.
    • groupby(['학년', '반']) 이렇게 리스트 안에 묶고 싶은 기준들을 넣어주면 돼.
    • 그러면 1학년 A반, 1학년 B반, 2학년 A반, 2학년 B반 이렇게 더 세세하게 묶어준답니다.

2. 여러 가지 요약 한 번에! aggregate()

각 그룹별로 평균, 최댓값, 개수 등 여러 가지 요약을 한 번에 하고 싶을 때 aggregate()를 사용해.

  • 학년별 과목별 평균과 최댓값 구하기:

    • 학년별로 묶은 다음에, 국어, 영어, 수학 점수의 평균과 최댓값을 동시에 알고 싶을 때!
    • groupby('학년').aggregate(['평균', '최댓값']) 이렇게 쓰면 돼.
    • 그러면 각 학년별로 국어, 영어, 수학의 평균과 최댓값이 짠! 하고 나타나지.
  • 한 컬럼에 여러 함수 적용하기:

    • '평균'이라는 컬럼에 대해서 평균, 최소값, 최댓값, 개수를 모두 알고 싶을 때도 있어.
    • groupby('학년')['평균'].aggregate(['평균', '최소', '최대', '개수']) 이렇게 하면 '평균' 컬럼에 대한 다양한 요약 정보를 얻을 수 있어.

3. 그룹별 데이터 개수 세기

각 그룹에 몇 명씩 있는지 알고 싶을 때 size()나 count()를 사용해.

  • 학년별 인원수 세기:

    • groupby('학년').size()를 쓰면 각 학년별로 몇 명인지 알 수 있어.
    • 1학년은 2명, 2학년은 3명 이런 식으로!
  • 반별 인원수 세기:

    • groupby('반').count()를 쓰면 각 반별로 몇 명인지 셀 수 있지.

4. 결과를 깔끔한 표로 만들기: reset_index()

그룹화한 결과를 다시 일반적인 표(데이터 프레임) 형태로 만들고 싶을 때 reset_index()를 사용해.

  • 그룹화하면 학년이나 반 같은 정보가 맨 앞에 인덱스로 붙는데, reset_index()를 쓰면 이 인덱스가 일반 컬럼으로 바뀌고 새로운 숫자로 된 인덱스가 맨 아래에 붙게 돼.

5. 표를 멋지게 재구성하기: pivot_table()

pivot_table()은 데이터를 더욱 다양하고 유연하게 요약할 수 있는 강력한 기능이야. 마치 엑셀의 피벗 테이블처럼 말이지!

  • 학년별, 반별 평균 점수 보기:

    • index에는 행으로 표시하고 싶은 기준 (예: 학년)을, columns에는 열로 표시하고 싶은 기준 (예: 반)을 넣어줘.
    • values에는 어떤 값을 요약할지 (예: 평균 점수)를, aggfunc에는 어떤 함수로 요약할지 (예: 평균)를 지정하면 돼.
    • 그러면 각 학년별, 반별 평균 점수를 한눈에 볼 수 있는 표가 만들어져!
  • 여러 값 요약하기:

    • 평균 점수뿐만 아니라 국어, 영어, 수학 점수의 평균을 한 번에 보고 싶을 때도 있어.
    • values에 국어, 영어, 수학을 모두 넣어주면 각 과목별 평균을 볼 수 있지.
  • 다양한 함수 적용하기:

    • 평균뿐만 아니라 최댓값, 최소값, 개수까지 한 번에 보고 싶다면 aggfunc에 여러 함수를 리스트로 넣어주면 돼. aggfunc=['평균', '최대', '최소', '개수'] 이렇게 말이야.

정리하자면,

  • groupby(): 데이터를 특정 기준으로 묶어줘.
  • aggregate(): 묶은 데이터에 대해 여러 가지 요약을 한 번에 해줘.
  • size(), count(): 그룹별 데이터 개수를 세줘.
  • reset_index(): 그룹화된 결과를 일반 표로 바꿔줘.
  • pivot_table(): 데이터를 더 유연하고 다양하게 요약하는 표를 만들어줘.

이 내용들이 처음에는 조금 어렵고 헷갈릴 수 있어. 그러니까 꼭 직접 코드를 실행해보면서 하나씩 익혀나가도록 하자!

최근 검색 기록