✅ 오늘 한 것
Tableau, Streamlit 라이브 세션, 태블로를 활용한 데이터 시각화
✏️ 오늘 배운 점
Streamlit
https://docs.streamlit.io/develop/api-reference
텍스트 계열 함수
import streamlit as st
st.markdown("**굵게** 혹은 *기울임* 할 수도 있어요.")
st.markdown("[Streamlit 공식 사이트](https://streamlit.io/)로 이동하기")
st.markdown("""
- **:red[빨간색 텍스트]**와 **:blue[파란색 텍스트]**
- 이모지 :sparkles:도 넣어보자!
""")
st.markdown("""
| 이름 | 직업 | 나이 |
|----------|----------|------|
| 홍길동 | 도적 | 25 |
| 김철수 | 개발자 | 30 |
| 이영희 | 디자이너 | 28 |
""")

다양한 입력 위젯을 통한 제작
import streamlit as st
uploaded_file = st.file_uploader("CSV 파일을 업로드 해주세요", type=["csv"])
if uploaded_file is not None:
st.write("업로드한 파일 이름:", uploaded_file.name)
if st.button("클릭"):
st.write("버튼이 클릭되었습니다!")
import random
st.title("🔮 오늘의 운세 뽑기")
if st.button("운세 뽑기"):
fortunes = [
"대박! 오늘은 황금 같은 기회가 온다!",
"조심조심~ 길을 가다가 복이 굴러들어올 수도?!",
"평탄한 하루! 큰 일은 없으나 작은 행복이 있을 예정!",
"약간의 우울함이 스칠 수 있지만, 친구와 수다로 극복 가능!",
"캠프 끝나고 여자친구가 생겨요!"
]
result = random.choice(fortunes)
st.markdown(f"**당신의 운세: {result}**")
else:
st.markdown("💡 버튼을 눌러 당신의 오늘 운세를 확인해보세요!")

MBTI 판독기
import streamlit as st
st.title("🔮 MBTI 판독기")
st.write("아래에서 네 가지 차원별로 당신은 어느 쪽에 더 가까운지 선택해보세요!")
# 1) 에너지 방향 (I or E)
energy = st.radio(
"에너지 방향 선택: I (내향) , E (외향)",
("I", "E")
)
# 2) 인식 기능 (S or N)
sensing = st.radio(
"인식 기능 선택: S (감각), N (직관)",
("S", "N")
)
# 3) 판단 기능 (T or F)
thinking = st.radio(
"판단 기능 선택: T (사고), F (감정)",
("T", "F")
)
# 4) 생활 양식 (J or P)
judging = st.radio(
"생활 양식 선택: J (판단), P (인식)",
("J (판단)", "P (인식)")
)
# 선택값을 이어붙여 최종 MBTI 문자열 생성
my_mbti = energy[0] + sensing[0] + thinking[0] + judging[0]
st.subheader(f"당신의 MBTI 유형은... **{my_mbti}** !")
mbti_descriptions = {
"ISTJ": "논리적이고 책임감 강한 집콕러! 은근히 웃긴 드립으로 주변을 놀라게 해줄 때가 있어요.",
"ISFJ": "따뜻하고 배려심 많은 힐링러! 무뚝뚝해 보여도 속은 마시멜로처럼 폭신폭신.",
"INFJ": "이상주의적 감성러! 가끔 세계 평화를 꿈꾸면서 티 한 잔으로 힐링하곤 합니다.",
"INTJ": "분석적이고 독립적인 전략가! 남들 눈치 안 보고, 자기 길을 똑부러지게 가죠.",
"ISTP": "즉흥적이고 손재주 좋은 똑쟁이! 뜯어보고, 고치고, 만드는 걸 좋아해요.",
"ISFP": "감성적이고 온화한 예술가! 말보단 그림, 사진, 음악으로 마음을 표현해요.",
"INFP": "공감 능력 최강인 몽상가! 상상 속 나라에서 휴가 보내는 걸 좋아할지도?",
"INTP": "지적인 호기심에 불타는 아이디어 뱅크! 답정너 대화는 질색이랍니다.",
"ESTP": "신나는 모험을 즐기는 분위기 메이커! 즉흥 여행이나 파티에 최적화된 타입.",
"ESFP": "파티의 주인공, 천상 연예인! 밝은 에너지가 주변 사람들에게 전염됩니다.",
"ENFP": "열정이 펄펄 끓는 창의적 아이디어 뱅크! 집콕은 상상만 해도 기운 빠질지도?",
"ENTP": "논쟁을 즐기는 발명가! 말싸움보다 토론(?)을 좋아하는, 날카로운 사고력의 소유자.",
"ESTJ": "조직적이고 추진력 있는 리더! BUT 예상 못 한 일정 변경엔 식겁할 수도 있죠.",
"ESFJ": "사교적이고 섬세한 케어왕! 사람 사이의 균형을 맞추는 데 타고난 능력이 있어요.",
"ENFJ": "타인의 성장을 돕고 싶은 열정가! 흥이 오르면 파티 주최자가 되어버리기도!",
"ENTJ": "결단력 있고 카리스마 넘치는 CEO형! 맡은 바를 모조리 해결해야 직성이 풀려요."
}
st.info(mbti_descriptions[my_mbti])
# MBTI 단점(주의할 점) 예시
mbti_weaknesses = {
"ISTJ": "융통성이 부족할 때가 있고, 변화에 대한 거부감이 있을 수 있습니다.",
"ISFJ": "자기주장을 잘 못해서 스트레스를 쌓아두기 쉽습니다.",
"INFJ": "지나치게 이상주의적이라 현실과 타협이 어려울 수 있습니다.",
"INTJ": "독립적이지만 때로는 고집이 세고 대인관계 스킬이 부족할 때가 있어요.",
"ISTP": "감정표현이 서툴러 주변 사람들이 속마음을 알기 어려울 수 있습니다.",
"ISFP": "자신만의 공간을 지나치게 중시하여 협업이 어려울 수 있습니다.",
"INFP": "현실적 문제를 회피하고, 상상 속에만 머무를 때가 있습니다.",
"INTP": "지적 논쟁을 좋아하지만, 공감 능력이 부족해 보일 수 있습니다.",
"ESTP": "충동적이고 계획 없이 움직여서 주변을 당황하게 만들 수 있어요.",
"ESFP": "지나치게 즉흥적이라 장기적 계획이나 목표 설정이 어려울 수 있습니다.",
"ENFP": "한 가지에 집중하기보다는 너무 많은 아이디어만 내놓고 끝낼 수 있습니다.",
"ENTP": "논쟁을 즐겨서 상대를 피곤하게 만들거나 감정 상하게 할 수 있어요.",
"ESTJ": "과도한 통제력을 발휘하려 할 수 있고, 융통성이 떨어질 수 있어요.",
"ESFJ": "타인의 평가에 예민해져서 자신을 지나치게 희생할 수 있습니다.",
"ENFJ": "과도한 책임감에 스스로를 몰아세우고 지쳐버릴 때가 있어요.",
"ENTJ": "때로는 권위적이고 독단적으로 보일 수 있으며 완벽주의 경향이 있습니다."
}
st.error(mbti_weaknesses[my_mbti])

태블로를 활용한 데이터 시각화
막대차트: 범주별 값을 비교할 때 가장 자주 쓰이는 차트

마크 레이블 표시를 통해 각 범주의 값을 시각화하여 같이 나타낼 수 있다.
라인차트: 시간의 흐름에 따른 데이터 변화를 확인할 때 가장 자주 사용하는 차트

맵 차트: 지역(지리적 위치)에 따른 값을 비교할 때 가장 많이 활용하는 차트

파이 차트: 전체에서 각 범주가 차지하는 비율(구성비)을 확인할 때 주로 사용하는 차트

트리맵: 계층적 데이터를 직사각형 블록의 크기와 색상으로 표현하는 차트

KPI(핵심성과지표): 전략적 목표 달성 정도를 측정하는 핵심 지표
- KPI 설정 방법 (SMART 원칙)
- Specific(구체적): 무엇을 측정하는지 명확해야 함
- Measurable(측정 가능): 수치로 확인 가능해야 함
- Achievable(달성 가능): 현실적이고 도전적이어야 함
- Relevant(관련성): 조직 목표와 직접 연결되어야 함
- Time-bound(시간 제한): 특정 기간 안에 달성 여부를 판단할 수 있어야 함
- 예시 )✅ “올해 4분기까지 온라인 매출을 전년 동기 대비 15% 성장시킨다” → SMART KPI
- ❌ “매출을 늘린다” → 모호함
히트맵

도넛차트: 파이 차트(Pie Chart)의 변형으로, 가운데가 뚫린 원형 차트

이중 측을 활용하여 가운데 공간을 만들어 총합, KPI, 비율 강조 값을 표시할 수 있다.
버터플라이 차트: 양쪽으로 마주 보는 형태의 막대차트로, 두 집단을 같은 기준에서 비교할 때 사용
📌추가로 해야 할 점
Tableau 개인 과제, 라이브세션 복습, 머신러닝 & 통계 복습
'품질관리(QAQC) 데이터 부트캠프(본캠프)' 카테고리의 다른 글
| 본캠프_11주차(수)_TIL(Tableau, 시계열) (0) | 2025.11.26 |
|---|---|
| 본캠프_11주차(화)_TIL(Tableau, 시계열) (0) | 2025.11.25 |
| 본캠프_10주차(금)_TIL(Streamlit, Tableau) (0) | 2025.11.21 |
| 본캠프_10주차(목)_TIL(ADF, ACF, ARIMA 정리) (0) | 2025.11.20 |
| 본캠프_10주차(수)_TIL(심화 프로젝트 기반 피드백) (0) | 2025.11.19 |