1. 목표
- 데이터프레임의 지정 열 (Column) 의 사분위 수를 확인한다.
- 중복열의 조건을 탐색하여 데이터를 분리한다.
- 결과 데이터를 상자수염 그래프 (Box Plot) 그래프를 그려본다.
2. 도구
- Google Colaboratory
- Github 타이타닉 데이터
"https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv"
3. 사전 정보 확인
[Python] Matplotlib.pyplot 히스토그램 그래프 그리기 (tistory.com)
[Python] Matplotlib.pyplot 히스토그램 그래프 그리기
1. 목표 - 데이터프레임의 지정 열 (Column) 값을 히스트그램 그래프를 그려본다. 2. 도구 - Google Colaboratory 3. 사전 정보 확인 [파이썬] 외부 데이터 (Gibhub) 불러오기와 정보 확인하기 (tistory.com) [파이
iotcyuty.tistory.com
[통계] 상자 수염 그림 as 박스 플롯 (Box Plot) (tistory.com)
[통계] 상자 수염 그림 as 박스 플롯 (Box Plot)
Box Plot 을 통해 알 수 있는 것 a. 이상치 존재 여부 b. 데이터 분포의 최소값, 제1분위 (Q1), 중앙값, 제3분위 (Q3), 최대값 사분위범위는 제3분위에서 제1분위를 뺀값 (Q3-Q1) 이다.
iotcyuty.tistory.com
4. Code
(1) 필요한 패키지 (판다스, 맷플롯립.파이플롯) 를 import 한다.
- 타이타닉 데이터를 불러온다. ( type : pandas.dataframe)
import pandas as pd # 판다스 패키지 임포트
import matplotlib.pyplot as plt # 맷플롯립 패키지 임포트
df = pd.read_csv("https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv") # 타이타익 데이터 읽기 || 판다스 데이터프레임
(2) 상자 수염을 그리고자 하는 목표를 정의한다.
- Pclass [1,2,3 등급] 별 요금에 대한 Box Plot
- Survived [0,1] 별 요금에 대한 Box Plot
- Survived [0,1] 별 요금에 대한 Age Plot
### 문제1) Pclass 등급별 요금에 대한 전처리 과정
pclass_fare_1 = df[df["Pclass"]==1]["Fare"] # Pclass == 1 인 집합군에 대한 Fare 데이터
pclass_fare_2 = df[df["Pclass"]==2]["Fare"]
pclass_fare_3 = df[df["Pclass"]==3]["Fare"]
fig, ax = plt.subplots()
ax.boxplot([pclass_fare_1,pclass_fare_2,pclass_fare_3])
plt.show()
### 문제2) Survived 별 요금에 대한 Box Plot
alive_fare = df[df["Survived"]==1]["Fare"] # alived (Survived=1) 인 집합군에 대한 Fare 데이터
dead_fare = df[df["Survived"]==0]["Fare"] # dead (Survived=0) 인 집합군에 대한 Fare 데이터
fig, ax = plt.subplots()
ax.boxplot([alive_fare,dead_fare])
plt.show()
### 문제3) Survived 별 나이에 대한 Box Plot
alive_age = df[df["Survived"]==1]["Age"].dropna() # alived (Survived=1) 인 집합군에 대한 Fare 데이터 (결측치는 완전 소거한다)
dead_age = df[df["Survived"]==0]["Age"].dropna() # dead (Survived=0) 인 집합군에 대한 Fare 데이터 (결측치는 완전 소거한다)
fig, ax = plt.subplots()
ax.boxplot([alive_age,dead_age])
plt.show()
5. 해석
- 데이터프레임에 데이터를 값 (범주) 별로 분류하고 이에 대한 특정 연속형데이터를 상자수염 (박스플롯) 형태로 나타내 보았다.
- 상자수염데이터를 plot 하는데 결측치 정보가 있으면 플롯이 그려지지 않아서 dropna() 메소드를 코드에 추가하였다.
'Python' 카테고리의 다른 글
[Python] 표준정규분포(정규분포) 데이터 생성 (0) | 2023.05.09 |
---|---|
[Python] Seaborn 패키지 (0) | 2023.05.08 |
[Python] Matplotlib.pyplot 히스토그램 그래프 그리기 (0) | 2023.05.08 |
[파이썬] 데이터프레임 - 범주형 데이터 빈도수 구하기 (0) | 2023.05.04 |
[파이썬] 외부 데이터 (Gibhub) 불러오기와 정보 확인하기 (0) | 2023.05.04 |