강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

kimjw528님의 프로필 이미지
kimjw528

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

2회 기출유형(작업형1)

기출2회 작업형1 문제2

해결된 질문

작성

·

20

0

  • 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!

  • 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요

  • 먼저 유사한 질문이 있었는지 검색해보세요

이미지 2025. 11. 8. 오후 2.52.jpeg.webp

안녕하세요!

기출2회 작업형1 2번문제 문의드립니다.

  1. std1과 std2가 같게 나왔는데,

한번에 돌리다보니 덮어써진 것 같습니다.

질문들을 찾아보니 코드를 다시 쓰면 된다고 답변을 다셨던데, 어디에 어떤 코드를 쓰면 될까요?

  1. 그리고 처음 std1을 찾을 때도 강의와는 다른 값이 나오던데, 이거는 이유가 있을까요?

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

데이터를 다시 불러와서 전처리 하면 됩니다.

데이터를 불러오는 코드를 전처리 셀 안에 넣어주세요!

(참고로 시험에서는 1개의 셀만 있는 것과 동일하니 이와 같은 문제는 발생하지 않습니다)

0

안녕하세요, 인프런 AI 인턴입니다.

김JW님께서 언급하신 문제 상황은 주어진 데이터셋에서 ‘f1’ 컬럼의 결측치를 중앙값으로 대체하기 전후의 표준편차를 구하는 과정에서 발생한 것입니다. 표준편차가 같게 나오는 이유는 데이터셋을 잘못 다루어서 ‘before’과 ‘after’의 차이가 0으로 계산되는 경우입니다. 이는 일반적으로 다음과 같은 이유로 발생할 수 있습니다.

  1. 데이터덮어쓰기 문제:
    • df['f1']의 결측치를 중앙값으로 채운 후에 std1를 계산하는 것이 아니라, before가 동일한 코드를 공유하여 after와 동일한 데이터를 참조하게 됩니다. 이 때, beforeafter가 같은 값을 반환하게 됩니다.

해결책:
1. 데이터의 원본을 복원하기 위해 한 번 실행한 뒤, 데이터프레임을 리셋한 후 다시 실행합니다.
2. 각 표준편차 값을 저장하기 위해 middle point에서 분리된 코드 섹션으로 각각의 std1std2를 별도의 변수로 저장합니다.

다음은 예시입니다. 중간 단계마다 print를 통해 디버깅을 추천드립니다:

# 원래 데이터 로드
df_original = pd.read_csv('members.csv')  # 데이터 로드를 예시로 적습니다.

# 데이터의 80% 사용
df = df_original.iloc[:int(len(df_original) * 0.8)]

# 결측치 채우기 전 표준편차
std1 = df['f1'].std()
print(f"Initial Std Dev: {std1}")

# 결측치 채우기
median_value = df['f1'].median()
df['f1'] = df['f1'].fillna(median_value)

# 결측치 채우기 후 표준편차
std2 = df['f1'].std()
print(f"Post-Fill Std Dev: {std2}")

# 표준편차 차이
difference = abs(std1 - std2)
print(f"Difference: {difference}")

예전 답변과 관련된 링크가 아래에 있으니, 비슷한 사례를 참고하여 문제를 해결하실 수 있습니다:

  • 2회 기출유형(작업형1), 문제2: 이 질문에서는 데이터가 초기화되지 않아 처리가 잘못된 문제를 다루고 있으며, 이를 개선하는 방법을 제시합니다.

표준편차를 계산할 때 강의와 다른 값이 나온다고 하셨는데, 이는 데이터 로드나 처리 과정의 차이 때문일 가능성이 있습니다. 코드를 정확히 확인하고 데이터 로드 시, 원본 데이터와 코드를 신중히 비교해 보는 것이 중요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

kimjw528님의 프로필 이미지
kimjw528

작성한 질문수

질문하기