내일배움캠프

[본캠프] 데이터기반 QA/QC 부트캠프 2일차

min0jun 2026. 5. 12. 11:39

1. 오늘 학습 목표

- 파이썬 데이터 분석 기초 다지기

리스트안엔 무엇이든 들어갈수잇다

 

2. 오늘 학습 한 내용

Colab이란?

  • 온라인에서 파이썬 데이터분석을 할 수 있는 환경

베이직 파이썬 문법

  • 변수 - 데이터를 담는 컨테이너
  • 기본 사칙 연산
  • 리스트 - 순서가 있는 데이터들의 모음집
더보기

예)

[변수를 하나하나 지정]

student_1 = “김철수”

student_2= ”김영희”

student_3 = “오영상”

….

student_100= “주은비”

 

 

[리스트의 경우]

students_list = [”김철수”, “김영희”, “오영상”, …]

  • 딕셔너리 - 명칭과 뜻이 쌍으로 이루어진 데이터들의 모음집
더보기

예)

[변수를 하나하나 지정]

김철수_height = 182,

김철수_weight =68,

김철수_eyesight = 2.0

….

….

김영희_room= “room100”

 

[딕셔너리의 경우]

김철수 = {’height’ : 183, ‘weight’ : 68, … }

리스트 딕셔너리 연습

#스파르타 호텔 예약 5명 고객 명단 만들어 보기
hotel_customer = ["김철수","박진주","김소영","김은비","이단비"]

#스파르타 호텔 예약한 고객 중 2번째 고객 불러 오기
print(hotel_customer[1]) #박진주
#리스트의 순서는 0 부터 시작

#스파르타 호텔 예약 5명 고객 룸 지정 하기
reserved_room = {"김철수":1, "박진주":2, "김소영":3, "김은비":4, "이단비":5}
print(reserved_room["김철수"]) #1

 

 

Tip. 리스트안엔 무엇이든 들어갈 수 있다. 딕셔너리는 중괄호 '{}' 사용!

 

3. 오늘의 과제 -Pandas와 Matplotlib을 이용하여 데이터 분석 후 시각화하기

🕵🏻‍♀️ 국제 보건 기구로부터 탐정 여러분에게 의뢰가 들어 왔습니다.

📃 요청 내용

애리조나 사막지역 원주민인 피마 인디언이 세계에서 당뇨병 발병률이

가장 많은 종족으로 조사되었습니다.

피마 인디언은 사막지대에 살다보니, 조금만 먹어도 잘 생존 할 수 있도록,

음식을 축적 해 놓으려는 유전자를 가지게 되었습니다.

하지만, 식생활이 서구화 되면서 비만을 초래해 각종 성인병을 유발 한것으로 예측 됩니다.

피마 인디언들을 포함해 세계인의 당뇨병 조기 발견 및 치료를 위해 우리 국제 보건 기구는

“**당뇨병 발병에 가장 큰 영향을 미치는 요소는 글루코스(혈당) 수치라고 가설”**을 내렸습니다.

우리가 제시하는 피마 인디언 당뇨병 데이터 세트를 분석해

우리가 세운 가설이 맞는지 확인해주세요!

사례는 두둑히 하겠습니다.💵
#Pandas 라이브러리 불러오기
import pandas as pd

#피마 인디언 당뇨병 파일 불러오기
diabetes = pd.read_table('diabetes.csv',sep=',')

#데이터 앞부분 확인 하기
diabetes.head()

#데이터가 null인 데이터 출력하기
print(diabetes.isnull().sum())

#데이터가 null인 데이터 제거 하기
diabetes = diabetes.dropna()

#상관관계 분석하기
corr = diabetes.corr(method='pearson')

#Outcome 상관관계 계수가 1인 요소 제외하고 출력하기
corr = corr[corr.Outcome !=1]
corr

#matplotlib으로 시각화 하기
import matplotlib.pyplot as plt
corr['Outcome'].plot()

#바 그래프로 변경하기
corr['Outcome'].plot.bar()
  • 결과

결괏값 그래프

 

+numpy와 seaborn 사용해보기

numpy란?
- 데이터 연산을 빠르고 쉽게 할 수 있게 도와주는 라이브러리

seaborn이란?
- matplotlib으로부터 만들어진 데이터 시각화를 위한 라이브러리
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
titanic = pd.read_table('train.csv',sep=',')
titanic.head() #데이터 확인하기
print(titanic.isnull().sum())
titanic = titanic.dropna()
titanic.describe() #데이터 통계치 요약하기

titanic['Age'].hist(bins=40,figsize=(18,8),grid=True) #나이별로 히스토램 구하기

#나이별 구분 및 각 나이별 생존율 확인 하기
titanic['Age_cat'] = pd.cut(titanic['Age'],bins=[0,3,7,15,30,60,100],include_lowest=True,labels=['baby','children','teenage','young','adult','old'])

#연령대를 기준으로 평균 값을 구해 볼수 있어요!
titanic.groupby('Age_cat').mean()

#그래프 크기 설정
plt.figure(figsize=(14,5))

# 바 그래프 그리기 (x축 = Age_cat, y축 = Survived)
sns.barplot(x='Age_cat',y='Survived',data=titanic)

# 그래프 나타내기
plt.show()
  • 결과

히스토그램 그래프
바그래프

결론: 생존율의 상관관계가 나이대별로 엄청 다르다. 특히, baby, children의 생존율이 상대적으로 높다라는 것을 알 수 있다.

 

 

히스토그램은 추이를 볼 때 많이 이용! (값이 많은 경우)

 

나의 간단 소감

- 파이썬을 이용해 이런것까지 할 수 있는지 몰랐다. 그리고 파이썬을 이용하는 프로그램이 여러개라는 것도 처음 알았다ㅋㅋㅋ