웅진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