[스파르타코딩클럽]데이터분석 과정/PYTHON

[Python] 데이터 전처리&시각화 강의 과제 (1) 전처리

doo_ 2024. 1. 24. 17:53

과제1.  Seaborn 내장데이터 셋을 활용해서 데이터를 전처리해보기

> 기본 라이브러리 세팅

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

1-1 iris 데이터셋을 활용해서 전처리하기

> iris 데이터 불러오기 및 데이터 확인

iris_data = sns.load_dataset('iris')
iris_data.head()

Q1. 'species' 열 값이 'setosa'인 데이터 선택하기

더보기
condition = (iris_data['species'] == 'setosa')

iris_data[condition]

Q2. 10부터 20까지의 행과 1부터 3까지의 열 선택하기

더보기
# .iloc[] 활용
iris_data.iloc[10:21,1:4]

1-2 tips 데이터셋을 활용해서 전처리하기

> tips 데이터셋 불러오기 및 확인

tips_data = sns.load_dataset('tips')
tips_data.head()

Q1. total_bill이 30 이상인 데이터만 선택하기

더보기
condition = (tips_data['total_bill'] >= 30)
tips_data[condition]

Q2. 성별('sex')을 기준으로 데이터 그룹화하여 팁(tip)의 평균 계산

더보기
tips_data.groupby('sex')['tip'].mean()

Q3. 'day'와 'time'을 기준으로 데이터 그룹화하여 전체 지불 금액(total_bill)의 합 계산

더보기
tips_data.groupby(['day','time'])['total_bill'].sum()

Q4. 'day' 열을 기준으로 각 요일별로 팁(tip)의 평균을 새로운 데이터프레임으로 만든 후, 이를 기존의 tips 데이터셋에 합쳐보자

더보기
# 'day'를 기준으로 tip평균값을 구한 테이블 생성하기
avg_tip_per_day = tips_data.groupby('day')['tip'].mean().reset_index()
avg_tip_per_day.columns = ['day','avg_tip']
# merge를 이용해 테이블 합치기
merged_data = pd.merge(tips_data,mean_tip_per_day, on = 'day', how = 'left')
print(merged_data.head())