웅진X유데미 STARTERS/TIL (Today I Learned)

[스타터스 TIL] 4일차.파이썬 데이터 분석 (4) - 분석 실습, value_counts, groupby

알밤바 2023. 2. 9. 19:28
728x90
반응형


1. 새롭게 알게된 내용

이제까지 배웠던 파이썬 문법들을 활용해서 데이터 분석 실습을 하는 방향으로 강의가 진행되었다.

혼자서 실습을 다시 해보면 좋을 것 같아서 실습 프로젝트를 혼자서 하나씩 해보면서 정리 중이다. (일단 우선은 서울시 코로나19 현황부터!)

그리고 오전에 조원들과 공부한 내용을 이야기한 시간에서도 나온 문제인데, 바로 value_counts()와 groupby()의 차이다.

groupby()도 쓸 수 있을 것 같은데, 강사님께서 주로 value_counts()를 쓰는 이유는 무엇일까 궁금해서 찾아보고 정리하고자 한다.

 

1.1 value_counts() vs groupby()

📌 value_counts()

- 컬럼의 값에 대한 횟수를 반환함

- 출력 시, 횟수가 많은 것부터 정렬됨 (내림차순)

- 오름차순 정렬을 하려면 'ascending = True' 매개변수 사용하기

- 정렬을 하지 않으려면 'sort = False' 매개변수 사용하기

 

📌 groupby()

- 다양한 통계함수를 사용할 수 있음 (agg 함수)

 

 

pandas value_counts() 함수

Pandas의 value_counts() 함수는 가장 기초적이면서 일반적으로 사용되는 함수 중 하나입니다. 기본적으로 지정된 열의 각 값(value)에 대한 모든 발생 횟수를 반환합니다. 단순한 방법 이외에 여러 옵

zzinnam.tistory.com

 

 

[Pandas] 판다스 - DataFrame을 정렬, 집계, 그룹하는 방법

이번 포스트에서는 DataFrame을 정렬, 집계, group by하는 방법을 알아보자. import numpy as np import pandas as pd titanic_df = pd.read_csv('titanic_train.csv') 캐글(kaggle)에서 사용되는 연습 데이터셋인 타이타닉(titanic

data-flower.tistory.com

 

 

✔ 2가지 함수의 비교

[비교 전 가설]
1) 하나의 컬럼의 갯수를 출력할 때에는 value_counts()가 더 편리하다.
2) 여러 컬럼을 그룹화하여 세부 그룹 별 통계량을 확인하려면 groupby()가 더 편리하다.

 

❓ [가설 1] 하나의 컬럼의 갯수를 출력할 때에는 value_counts()가 더 편리하다.

 

df['접촉력'].value_counts().to_frame()

→ 내림차순으로 정렬되어 출력됨

 

 

df.groupby('접촉력')[['접촉력']].count()

→ 정렬이 되지 않고 출력됨

집계를 할 컬럼을 따로 지정해야 함 ⭐

 

🔎 만약, 집계할 컬럼을 따로 지정하지 않는다면? 

      → 모든 컬럼의 통계량이 출력된다.

df.groupby('접촉력').count()

 

 

[가설 2] 여러 컬럼을 그룹화하여 세부 그룹 별 통계량을 확인하려면 groupby()가 더 편리하다.

 

df.groupby(['접촉력', '지역'])[['접촉력']].count()

→ 접촉력 별 지역 별 갯수를 나타내는데, 갯수가 0이라도 다 출력이 됨 (그래서 29592개의 데이터)

 

df[['접촉력', '지역']].value_counts().to_frame()

→ 반면, 0인 데이터는 출력되지 않아서 5963개의 데이터가 출력됨.

 

[가설 검정]
1) 하나의 컬럼의 갯수를 출력할 때에는 value_counts()가 더 편리하다.
    → groupby의 경우, 집계할 컬럼을 따로 지정을 해주어야 하기에 value_counts()를 사용하는 것이 더 편리하다고 생각됨!
2) 여러 컬럼을 그룹화하여 세부 그룹 별 통계량을 확인하려면 groupby()가 더 편리하다.
    → 데이터의 갯수가 0이라도 출력되길 원하면 groupby(), 데이터의 갯수가 있는 것만 출력되길 원하면 value_counts()를 사용하는 것을 추천

 


1.2 혼자서 다시 해본 분석 프로젝트 (서울시 코로나19 현황)

더보기 클릭 ▼

더보기
서울시 코로나19 현황 분석 (개별 진행)

 

 

2. 회고

어제까지 공부했던 파이썬 기본 문법들을 실습을 통해서 적용할 수 있어서 좋았다.

실습을 다시한번 혼자서 이것저것 만져보면서 해보려고 한다. 현재, 코로나19 현황까지만 진행했다.

그리고 value_counts()와 groupby()의 차이가 궁금해서 찾아보고 이것저것 해봤는데, 생각 이상으로 같기도 했으며, 다르기도 했다. 아직 완벽히 이해하고 차이를 알지는 못했지만, 직접 구글링하면서 정리하니 기본적인 이해는 되었다.

 

앞으로도 모르는 것이 있으면 파고들려고 노력해봐야겠다...!ㅎㅎ..

728x90
반응형