[스파르타코딩클럽]데이터분석 과정/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())