작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
221
·
수정됨
0
행으로 되어있는 2001,2003의 평균과 데이터를 비교하는 문제인데요,
앞에서의 문제4처럼 열과 행을 바꿔주어 아래처럼 코딩하면 값이 다르게 나오더라구요ㅠ
혹시 이렇게 하면 틀리는 이유가 있을까요 아님 제가 코딩을 잘못한걸까요~?
df=df.T
print(sum(df[2001]>df[2001].mean())+ sum(df[2003]<df[2003].mean()))
답변 1
0
안녕하세요, 인프런 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)
이 코드는 테스트를 위한 간단한 예시일 뿐, 실제 문제에 맞게 데이터를 조정하셔야 합니다.
도움이 필요하시다면 인프런 ‘문의하기’를 통해 더 자세한 조언을 얻으실 수 있습니다.