작성
·
137
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
df[“average_sales”] = df.groupby(“법정동명”)[“총 주문가격”].mean().round(2) 코드에서 결과값이 전부 NaN으로 나타나는 경우는 해당 DataFrame(df)에 “average_sales”라는 컬럼이 없다면, NaN 값으로 표시되기 때문입니다. 해결하는 방법으로는 다른 분들께서 말씀해주신 것 처럼 groupby() 함수를 이용해 “법정동명” 그룹과 “총 주문가격” 컬럼을 지정해 평균값을 구하고, 이를 다른 변수에 할당한 후, df DataFrame에 새로운 컬럼을 만들기 전에 해당 컬럼을 확인하는 것이 좋습니다.
따라서, 아래와 같이 a 변수를 만든 후에 출력하여 정상적으로 값을 확인하신 뒤, df DataFrame에 새로운 컬럼으로 할당하면 됩니다.
a = df.groupby("법정동명")["총 주문가격"].mean().round(2)
print(a)
df["average_sales"] = a
이렇게 해결하시면 NaN 값이 아닌 정상적인 값이 할당되어 출력될 것입니다. 참고하시길 바랍니다.
감사합니다.