해결된 질문
작성
·
29
0
import pandas as pd
import numpy as np
df = pd.read_csv('data6-1-3.csv')
print(df.shape)
# print(df)
df['sum'] = df.iloc[:,1:7].sum(axis=1)
# print(df.head())
df['year'] = df['날짜'].str[:4]
# 2022 12
# 2020 11
# 2021 9
# 2024 9
# 2023 9
df1 = df.groupby('year')['sum'].mean()
# print(df1)
df1
문제풀이를 보니까 groupby이후에 그냥 12로 나누셨던데 년도자료마다 갯수가 달라서 12로 나누면 안되는건아닌지 궁금합니다
아래는 선생님 풀이입니다.
# 3. 연도별 그룹핑(총범죄).sum()
result = df.groupby("연도")['총범죄'].sum()/12
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다.
김호범님이 질문하신 내용은 연도별 총 범죄 건수를 월평균으로 계산할 때 12로 나누는 것이 적절한지에 대한 것입니다. 실제 데이터에서는 각 연도의 데이터가 누락되어 있을 수 있으므로, 단순히 12로 나누는 것이 정확하지 않을 수 있습니다. 각 연도별로 실제 월 데이터 수를 기반으로 평균을 계산하는 것이 더 정확한 방법이 될 수 있습니다.
이와 관련된 유사한 질의 답변을 찾아보았습니다. 다음 링크의 답변을 참고하시면 도움이 될 것입니다:
기출6 유형1 문의드립니다.에서는 그룹화된 데이터를 사용하여 총 범죄 건수를 월 수로 나누는 과정에서 발생할 수 있는 오류와 해결 방법에 대해 설명하고 있습니다. 그룹화 후 결과를 월 수로 나누려면 transform()
메소드를 사용해야 원본 데이터프레임의 형태를 유지하면서 연산을 수행할 수 있습니다.
여기서 .transform()
메소드를 사용하여 각 연도별 실제 데이터의 개수를 사용해 합계를 나누어 월평균을 구할 수 있습니다. 이렇게 하면 누락된 데이터가 있을 경우에도 정확한 월평균 값을 얻을 수 있습니다.
저는 김호범님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.