본문 바로가기
데이터분석과 AI/빅데이터 분석기사

[빅데이터분석기사 실기][작업형1] 그룹화와 정렬 + 멀티인덱싱

by 우공80 2023. 6. 6.
728x90

그룹화와 정렬

 

groupby 함수는 데이터를 집계하는 함수입니다. 비슷하게 pivot_table을 사용할 수도 있습니다.

 

sort_values는 DataFrame 또는 Series를 정렬하는 함수입니다. DataFrame을 정렬할 때는 by 파라미터에 정렬기준이 되는 변수명을 입력하고, Series를 정렬할 때는 변수명을 입력하지 않습니다.

 

ascending=True가 기본값으로 오름차순이고, ascending=False는 내림차순입니다.

 

1. Code: DataFrame 정렬

import pandas as pd

# 데이터 생성
data = {
    'Car': ['Corolla', 'Civic', 'Accord', 'Sonata', 'Optima'],
    'Manufacturer': ['Toyota', 'Honda', 'Honda', 'Hyundai', 'Kia'],
    'MPG': [32, 36, 30, 28, 31],
    'Transmission': ['Automatic', 'Manual', 'Automatic', 'Automatic', 'Manual'],
    'Top_Speed': [120, 110, 115, 105, 112]
}
# 데이터프레임 생성
df = pd.DataFrame(data)

print(df.sort_values(by='Top_Speed')) #오름차순

print(df.sort_values(by='Top_Speed', ascending=False)) #내림차순

Output:

       Car Manufacturer  MPG Transmission  Top_Speed
3   Sonata      Hyundai   28    Automatic        105
1    Civic        Honda   36       Manual        110
4   Optima          Kia   31       Manual        112
2   Accord        Honda   30    Automatic        115
0  Corolla       Toyota   32    Automatic        120

       Car Manufacturer  MPG Transmission  Top_Speed
0  Corolla       Toyota   32    Automatic        120
2   Accord        Honda   30    Automatic        115
4   Optima          Kia   31       Manual        112
1    Civic        Honda   36       Manual        110
3   Sonata      Hyundai   28    Automatic        105


2. Code: 그룹화 및 Series 정렬

df_group=df.groupby(['Manufacturer','Transmission'])['Top_Speed'].mean() #그룹화

print(df_group.sort_values()) #오름차순

print(df_group.sort_values(ascending=False)) #내림차순

Output:

Manufacturer  Transmission
Hyundai       Automatic       105.0
Honda         Manual          110.0
Kia           Manual          112.0
Honda         Automatic       115.0
Toyota        Automatic       120.0
Name: Top_Speed, dtype: float64

Manufacturer  Transmission
Toyota        Automatic       120.0
Honda         Automatic       115.0
Kia           Manual          112.0
Honda         Manual          110.0
Hyundai       Automatic       105.0
Name: Top_Speed, dtype: float64


3. Code: 멀티인덱싱

df_group.loc[('Honda','Automatic')] #인덱싱하기 위한 값은 튜플로 접근 가능

 

※ 위 내용은 "빅데이터 분석기사 실기 준비를 위한 캐글 놀이터"를 따라가며 공부한 내용입니다.

https://www.kaggle.com/datasets/agileteam/bigdatacertificationkr

 

Big Data Certification KR

빅데이터 분석기사 실기 (Python, R tutorial code)

www.kaggle.com

 

728x90

댓글