inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

빅분기 실기 강의 - 섹션4 작업형 모의문제3/문제7번 관련

229

작성자 없음

작성한 질문수 0

0

행으로 되어있는 2001,2003의 평균과 데이터를 비교하는 문제인데요,

앞에서의 문제4처럼 열과 행을 바꿔주어 아래처럼 코딩하면 값이 다르게 나오더라구요ㅠ

혹시 이렇게 하면 틀리는 이유가 있을까요 아님 제가 코딩을 잘못한걸까요~?

 

df=df.T

print(sum(df[2001]>df[2001].mean())+ sum(df[2003]<df[2003].mean()))

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. narae.park325님, 질문해주셔서 감사합니다.

문제에서 요구하는 바에 따라 데이터를 처리할 때는 해당 데이터의 특성을 정확하게 파악하고 코드를 작성해야 합니다. 여기서 행과 열을 바꾸는 작업은 df.T를 통해 진행할 수 있지만, 문제의 맥락에 맞는지 다시 확인해봐야 합니다.

제시하신 코드에서 df[2001]>df[2001].mean()는 2001년 데이터 중 그 해 평균보다 큰 값들의 개수를, df[2003]<df[2003].mean()는 2003년 데이터 중 그 해 평균보다 작은 값들의 개수를 산출합니다. 그리고 두 개수의 합을 구하고 있습니다.

코드 결과가 예상과 다르게 나오는 것은 여러 가지 이유가 있을 수 있습니다. 예를 들어, 데이터프레임을 전치한 후에도 각 연도별 평균을 정확하게 계산했는지, 또는 비교 연산이 올바르게 적용되었는지 등을 확인해야 합니다.

문제의 정확한 요구사항을 다시 한 번 확인하고, 데이터가 예상대로 전치되었는지 (df.T 후에 df를 출력해볼 것), 그리고 각 연도별 평균값과 비교하는 로직이 정확한지 점검해보세요.

아래는 간단한 예시 코드를 통해 행과 열을 전치하고 연도별 평균과 비교하는 방법을 보여줍니다:

import pandas as pd

# 예시 데이터프레임 만들기
df = pd.DataFrame({
    2001: [1, 2, 3, 4, 5],
    2003: [5, 4, 3, 2, 1]
})

# 데이터프레임의 행과 열을 전치
df = df.T

# 각 연도의 평균보다 큰/작은 데이터의 개수 계산
result = sum(df[2001] > df[2001].mean()) + sum(df[2003] < df[2003].mean())

# 결과 출력
print(result)

이 코드는 테스트를 위한 간단한 예시일 뿐, 실제 문제에 맞게 데이터를 조정하셔야 합니다.

도움이 필요하시다면 인프런 ‘문의하기’를 통해 더 자세한 조언을 얻으실 수 있습니다.

맥유저 입장의 고려해주세요

2

55

1

케이테스트 서버 운영 방법

2

52

1

수업 잘 들었습니다.

2

23

2

실행과정 질문입니다.

2

11

1