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

최우영님의 프로필 이미지

작성한 질문수

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

6회 기출유형(작업형1) 🆕 updated 2023.9

6회 작업형 1 3번문제 질문드립니다.

해결된 질문

24.06.18 22:37 작성

·

122

0

  1. 연도별로 총 범죄 건수(범죄유형의 총합)의 월평균 값을 구한 후 그 값이 가장 큰 연도를 찾아, 해당 연도의 총 범죄 건수의 월평균 값을 출력하시오. (반올림하여 정수로 출력)

2020: 11, 2021: 9, 2022: 12, 2023: 9, 2024: 9

다음은 각 해당 년도별로 존재하는 월 데이터의 갯수입니다.
12개가 아니고 누락된 데이터가있더라구요

df['tot'] = df.loc[:,'강력범죄':'교통범죄'].sum(axis=1)
df['날짜'] = pd.to_datetime(df['날짜'],format = '%Y년 %m월')
dict = df.groupby(df.날짜.dt.year)['날짜'].count()


df.groupby(df.날짜.dt.year)['tot'].mean()

저는 다음과 같이 코드를 작성하였는데 풀이노트북엔 / 12로 되어있더라구요,,, 뭐가 맞는건가요?

mean으로하면 sum / 전체갯수 니까 값이 다른부분에 대해선 인지하고있습니다.

답변 2

0

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

2024. 06. 19. 09:45

월 평균은 12로 나누는 것이 맞습니다.

시험에서도 모두 채워져있었어요~ (이슈 없었습니다.)

 

문제를 살짝 변형한 상태인데

0건 또는 매출이 0원인 달이 있다고해서

일반적으로 월 평균, 월 매출을 계산할 때 그 달을 빼지 않고 계산하고 있어요!

 

0

인프런 AI 인턴님의 프로필 이미지

2024. 06. 18. 22:41

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

최우영님의 질문에 대해 찾아본 결과, 연도별로 총 범죄 건수의 월평균 값을 구하는 과정에서의 혼동이 있으신 것 같습니다. 본 질문은 연도별 총 범죄 건수를 월별로 평균내는 방법에 대한 문제입니다. 여러분이 질문하신 부분과 유사한 상황을 해결한 사례가 있어 추천해드립니다.

기출6 유형1 문의드립니다. 관련하여, 연도별 총 범죄 건수의 월평균을 구하는 과정에서 df.groupby('연도')['총범죄'].sum()/12 사용 시 오류가 나는 경우가 있었습니다. 이는 그룹화 후 결과를 월 수로 나누려면 결과 데이터의 인덱스에 주의해야 한다는 점을 지적했습니다. 대신, .transform() 메소드를 사용하여 연도별 총 범죄 건수를 월평균으로 계산하는 방법을 제안했습니다.

기출6 유형1 문의드립니다.의 답변에서, 연도별 총 범죄 합계를 월별로 나누는 과정에서는 .transform()을 사용해야 합니다. 여기서 transform이 필요한 이유는 원본 데이터프레임의 형태를 유지하면서 계산을 적용하기 위해서입니다.

이 경우와 유사하게, 여러분이 작성한 코드에서는 /12 대신 실제 각 연도별 데이터의 개수를 나타내는 값으로 나누어야 하는 상황에서 confusion이 발생한 것으로 보입니다. 질문자님의 접근 방식으로, 연도별 데이터의 실제 개수를 기준으로 평균을 계산하는 것이 더 정확할 수 있습니다. 이렇게 하면 누락된 데이터가 있을 때도 정확한 월평균 값을 구할 수 있습니다.

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