내일배움 본캠프

[내일배움 본캠프]데이터 전처리&시각화 Last day..

hyeon-ji 2026. 6. 5. 20:58

☆ To do list 

  • AI 진단퀴즈 5문제 풀기
  • 코드카타 2문제 풀기
  • 아티클 스터디
  • 이력서 작성하기
  • 개인과제 진행하기(~lever 3)
  • TIL 작성 및 제출

🤖 에이타니

 

구분 단순선형회귀 다중회귀
독립변수 개수 1개 2개 이상
목적 하나의 변수로 종속변수 예측 여러 변수로 종속변수 예측
회귀식 y = β0 + β1x + ε y = β0 + β1x1 + β2x2 +⋯+ βnxn + ε
시각화 2차원 직선으로 표현 가능 3개 이상 변수부터는 시각화 어려움
해석 비교적 쉬움 변수 간 영향력을 함께 고려해야 함

 

 


🔐 CodeKata

● 자연수를 뒤집어 배열로 만들기

# 자연수를 뒤집어 배열로 만들기
def solution(n):
    answer = []
    for i in str(n):
      answer.append(int(i))  # n을 정수로 반환하고 1개씩 추가하기
    answer.reverse()  # 거꾸로 뒤집기
    return answer

n = 12345
solution(n)

# [5, 4, 3, 2, 1] 출력

 

● 문자열을 정수로 바꾸기

# 문자열을 정수로 바꾸기
def solution(s):
    answer = int(s)
    return answer

s = "-1234"
solution(s)

# -1234 출력

📰 아티클 스터디

주요 지표를 실시간으로 분석하는 대시보드 활용법: KPI 분석을 통해 마케팅 성과를 측정하고 신속한 의사결정으로 비즈니스 성장 가속화하기 - UI/UX 디자인, 웹사이트 제작, 디지털 마케팅 이파트

 

주요 지표를 실시간으로 분석하는 대시보드 활용법: KPI 분석을 통해 마케팅 성과를 측정하고 신

현대 비즈니스 환경에서 주요 지표, 즉 KPI(핵심 성과 지표)는 성공을 측정하고 비즈니스 성장을 촉진하는 데 필수적인 요소입니다. KPI는 기업이 전략적 목표를 달성하기 위해 어떤 행동을 취해

epart.com

 

' 주요 지표를 실시간으로 분석하는 대시보드 활용법: KPI 분석을 통해 마케팅 성과를 측정하고 신속한 의사결정으로 비즈니스 성장 가속화하기 '를 주제로 아티클 스터디를 진행했다.

 

 해당 아티클을 읽으면서 든 가장 큰 생각은, 'KPI 지표는 개인만을 위한 성과 지표가 아닌 기업의 목표 달성 여부를 측정하고 관리하기 위한 정량화된 지표' 이다. 인턴으로 근무할 당시 나의 KPI는 없었지만, 같이 일하는 선배들은 매주 각자의 KPI 지표를 설정하고 관리하며 근무하는 것을 봤었다. 회사 자체 혹은 부서의 KPI에 관련된 정보는 들어본 적이 없었어서 KPI 지표는 개인의 성과를 달성하기 위한 지표인 줄만 알고 있었는데, 해당 아티클을 읽으며 KPI 지표가 좀 더 광범위한 개념이라는 것을 깨닫게 되었다. 

 

 팀원들과 의견을 나누며 KPI는 단순히 성과를 측정하는 역할을 넘어 조직 구성원들에게 명확한 목표를 제시하고 동기부여를 제공하는 수단이 된다는 점도 알게 되었다. 목표가 수치로 구체화되어 있을 때 현재 위치와 달성 수준을 객관적으로 파악할 수 있으며, 이를 통해 지속적인 개선 활동이 가능하다. 특히 품질 직무에서는 불량률이나 수율과 같은 KPI를 지속적으로 모니터링하며 품질 개선 활동의 효과를 확인할 수 있다는 점이 인상적이었다.


💻 Python

 오늘은 지금까지 배운 내용들을 복습하며 헷갈렸던 부분을 재정리 하며 시간을 보냈다.

 

● loc와 iloc

구분 loc iloc
기준 라벨(Label) 위치(Position)
사용 방식 행/열 이름 사용 행/열 번호 사용
문법 df.loc[행, 열] df.iloc[행번호, 열번호]
슬라이싱 끝값 포함 끝값 제외
슬라이싱추가 설명 인덱스명 넣어 슬라이싱 하는 경우에는 해당 값을 포함하여 데이터를 불러온다. 슬라이싱 시 마지막 인덱스를 포함하지 않는다. 마지막 전의 값까지만 불러온다.
df.loc['a':'b']

''' 
결과
 a
 b      --> 끝값 b 포함
'''
df.iloc[0:2]

''' 
결과
0번째 행
1번째 행   --> 끝값 2 제외
'''

 

● value_counts(normalize=True)

→ 데이터의 고유값 빈도 비율을 계산한다.

import pandas as pd
s = pd.Series(['A', 'A', 'B', 'C', 'A', 'B'])
s.value_counts()

'''
결과
A    3
B    2
C    1
'''

 

○ normalize=True를 추가하게 되면,

import pandas as pd
s = pd.Series(['A', 'A', 'B', 'C', 'A', 'B'])
s.value_counts(normalize=True)

'''
결과                비율
A    0.500000   --> 50%
B    0.333333   --> 33.3%
C    0.166667   --> 16.7%
'''

 

● isnull() 과 isna()

→ 둘 다 동일하게 결측치가 어디 있는지 확인할 수 있다.

import numpy as np

df = pd.DataFrame({
    'A': [1, np.nan, 3]
})

df.isnull()

'''
결과
     A
0  False
1   True
2  False
'''
import numpy as np

df = pd.DataFrame({
    'A': [1, np.nan, 3]
})

df.isna()

'''
결과
     A
0  False
1   True
2  False
'''

 

○ notna()

→ isnull() 과 isna()와 반대로 결측치가 아닌 값을 확인할 수 있다.

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'A': [1, np.nan, 3]
})

df['A'].isna()

'''
결과
0    False
1     True
2    False
'''

 

● pd.to_numeric()

→ 문자열을 숫자로 변환해준다.

s = pd.Series(['10', '20', '30'])
pd.to_numeric(s)

'''
결과
0    10
1    20
2    30
dtype: int64
'''

 

● errors='coerce'

→ 숫자는 숫자 그대로 변환해주지만, 문자열은 NaN으로 처리한다.

s = pd.Series(['10', '20', 'ABC'])
pd.to_numeric(s, errors='coerce')

'''
결과
0    10.0
1    20.0
2     NaN
'''

 


 

 오늘은 코드카타를 통해 간단한 문제를 해결하며 Python 문법을 복습하고, 데이터 분석 과정에서 자주 사용되는 pandas 함수들을 다시 정리하는 시간을 가졌다. 특히 loc와 iloc의 차이, 결측치 처리 함수, 데이터 타입 변환과 같은 개념들은 실제 데이터 전처리 과정에서 자주 사용되는 만큼 정확히 이해하는 것이 중요하다는 점을 다시 느꼈다.

 

 또한 KPI 관련 아티클 스터디를 진행하며 KPI를 단순한 개인 성과 지표가 아닌 기업의 목표를 정량적으로 관리하기 위한 도구라는 관점에서 바라보게 되었다. 

 

기기 대여했던 노트북이 목요일에 도착했는데, 아직 환경설정을 하지 못해서 아직 못 쓰고 있다.. 

주말 동안 프로젝트에 필요한 어플들을 설치하고, 다음주부터는 새로운 노트북으로 참여해봐야겠다..!

(맥북 어렵다던데,, 프로젝트까지만 원해 노트북으로 해야되나,,?)