Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- numpy
- DataAccess
- dendrogram
- elbow method
- matplotlib
- del
- wcss
- insert()
- list
- Dictionary
- string
- Machine Learning
- len()
- 최솟값
- data
- function
- hierarchical_clustering
- pandas
- sklearn
- DataFrame
- 최댓값
- IN
- 반복문
- nan
- 분류 결과표
- append()
- count()
- analizer
- 덴드로그램
- Python
Archives
- Today
- Total
개발공부
[Python]Pandas 카테고리컬 데이터 확인하기, 이를 묶어 처리하기 groupby() 본문
groupby()
카테고리컬 데이터의 각 데이터별로 묶어서 처리하는 방법
카테고리컬 데이터인지 알 수 있는 방법은 nunique()와 unique()를 이용하면 된다.

# 카테고리컬 데이터 (Categorical Data)
# 갯수가 정해져있고 그 안에서 나눌 수 있는 것
>>> df['Year'].nunique()
3
>>> df['Year'].unique()
array([1990, 1991, 1992], dtype=int64)
df의 행갯수는 8개인데 Year 컬럼의 유니크한 갯수는 3개이다.
그러므로 Year의 데이터는 카테고리컬 데이터이다.
# 각 년도'별로' 연봉 총합 구하라
>>> df.groupby('Year')['Salary'].sum()
Year
1990 153000
1991 162000
1992 174000
Name: Salary, dtype: int64
# 각 직원별로, 연봉을 평균 얼마씩 받았는지 구하라
>>> df.groupby('Name')['Salary'].mean()
Name
Alice 54000.0
Bob 50000.0
Charlie 59000.0
Name: Salary, dtype: float64
# 년도별, 부서별로 연봉은 총 얼마씩 지급하였는지 구하라
>>> df.groupby(['Year', 'Department'])['Salary'].sum()
Year Department
1990 Admin 55000
HR 50000
RD 48000
1991 Admin 60000
HR 52000
RD 50000
1992 Admin 62000
HR 60000
RD 52000
Name: Salary, dtype: int64
여러개의 계산값 얻기 agg()
# 년도별 연봉 총합과 평균을 구하라
import numpy as np
df.groupby('Year')['Salary'].agg([np.sum, np.mean])

'Python > Pandas' 카테고리의 다른 글
| [Python] Pandas 데이터 정렬하기 sort_values(), sort_index() (0) | 2022.05.03 |
|---|---|
| [Python] Pandas Dataframe 조건을 만족하는 데이터 얻기, apply()(=함수를 이용해 얻기) (0) | 2022.05.03 |
| [Python] Pandas Dataframe NaN 다루기 (0) | 2022.05.02 |
| [Python] Pandas Dataframe 인덱스, 컬럼명 변경하기(rename()), 컬럼을 인덱스로 사용하기(set_index(),reset_index()) (0) | 2022.05.02 |
| [Python] Pandas Dataframe 열과 행 생성, 삭제(append(), drop()) (0) | 2022.05.02 |