-
카테고리
-
세부 분야
딥러닝 · 머신러닝
-
해결 여부
해결됨
실습 중 에러사항이 발생했습니다
21.12.02 23:38 작성 조회수 826
1
강사님 안녕하세요
제가 가지고 있는 데이트로 실습을 하는 중 다음과 같은 에러가 발생했습니다.
우선 인기추천 방식부터 적용을 하는데
데이터는 본 강의에서 실습하는 형태와 동일하게 구성하여 실습을 진행하고 있으며
코드와 에러는 아래와 같습니다.
에러사항이 조치가 되지 않는데..도움 한번 부탁 드립니다..
<코드>
# 인기 제품 방식 추천 Function
def recom_courses(n_courses):
course_mean=ratings.groupby(['course_id'])['rating'].mean()
course_sort=course_mean.sort_values(ascending=False)[:n_courses]
recom_courses=courses.loc[course_sort.index]
recommendations=recom_courses['title']
return recommendations
recom_courses(5)
<에러>
KeyError Traceback (most recent call last)
<ipython-input-48-80ad3b41fd0f> in <module>() 7 return recommendations 8 ----> 9 recom_courses(5)
/usr/local/lib/python3.7/dist-packages/pandas/core/indexing.py in _validate_read_indexer(self, key, indexer, axis, raise_missing) 1296 if missing == len(indexer): 1297 axis_name = self.obj._get_axis_name(axis) -> 1298 raise KeyError(f"None of [{key}] are in the [{axis_name}]") 1299 1300 # We (temporarily) allow for some missing keys with .loc, except in
KeyError: "None of [Index(['CEL45972', 'CEL51557', 'CPL30203', 'CEL51398', 'CPL57907'], dtype='object', name='course_id')] are in the [index]"
답변을 작성해보세요.
0
Jongsoo Park
질문자2021.12.03
아래와 같이 전처리 하였습니다~!
import os
import pandas as pd
import numpy as np
users = pd.read_csv('drive/MyDrive/capstone/users.csv', encoding='UTF-8')
ratings = pd.read_csv('drive/MyDrive/capstone/ratings.csv', encoding='UTF-8')
courses = pd.read_csv('drive/MyDrive/capstone/courses.csv', encoding='UTF-8')
import os
import pandas as pd
import numpy as np
# 인기 제품 방식 추천 Function
def recom_courses(n_courses):
courses = courses.set_index('course_id')
course_mean=ratings.groupby(['course_id'])['rating'].mean()
course_sort=course_mean.sort_values(ascending=False)[:n_courses]
recom_courses=courses.loc[course_sort.index]
recommendations=recom_courses['title']
return recommendations
recom_courses(5)
거친코딩
지식공유자2021.12.03
제가 생각하기에는 csv파일을 그대로 읽고 적용하셔서 인덱스 처리가 안된듯 싶습니다 :)
그래서 전에 말씀드린 것 처럼 course 데이터의 인덱스 지정 한번 해봐주시면 감사하겠습니다.
-거친코딩 드림-
0
거친코딩
지식공유자2021.12.03
안녕하세요.!
강의 보시면서 열심히 학습해주셔서 감사합니다.
작업해주신 결과에 에러를 보면 학습자님이 가지고 계시는 데이터의 인덱스가 없다고 나와있네요!
앞에 데이터 처리에 관해서는 올려주시지 않아서 확인이 어렵지만,
제가 생각하기에는
courses = courses.set_index('course_id')를 해주시면 될 것 같습니다 :) !!
혹시 위 방법으로도 해결 되지 않으신다면
앞 전처리 과정(데이터 로드 ~ 처리)까지 코드 올려주시면 리뷰 해보겠습니다!
감사합니다.
-거친코딩 드림-
답변 2