사용자 집단별 추천 강의 11:56 부분에 성별에 따른 예측값 계산에서 MergeError가 발생합니다.
# 성별에 따른 예측값 계산
merged_ratings = pd.merge(x_train,users)
users = users.set_index('user_id')
g_mean = merged_ratings[['movie_id','sex','rating']].groupby(['movie_id', 'sex'])['rating'].mean()
g_mean
코드는 이렇게 작성했고요.
merged_ratings = pd.merge(x_train,users)
이 부분에서
MergeError: No common columns to perform merge on. Merge options: left_on=None, right_on=None, left_index=False, right_index=False
이런 에러가 발생해요. 강의랑 똑같이 했는데 왜 에러가 나는걸까요? ㅠ ㅠ
답변 1
0
안녕하세요.
거친코딩입니다 🙂
간단히 에러를 살펴보면 머지 하실때 공통 컬럼이 없다고 뜨는데, x_train과 users를 프린트문으로 찍어보시고 컬럼명이 일치하시는지 확인 부탁드립니다.
혹은 머지 하시려는 키가 인덱스로 잡혀있을수 있으니 해당부분도 참고부탁드립니다.
감사합니다.
거친코딩 드림
1
답변 감사합니다!
연속으로 실행시키면 나는 오류였습니다.
한번 실행 시킨뒤엔 users = users.set_index('user_id') 이 코드로 users가 달라져서 아래 코드를 실행한 뒤 다시 실행시키니 잘 동작합니다. 감사합니다!
# 데이터 읽어오기(user, item, data)
base_src = 'drive/MyDrive/RecoSys/Data'
u_user_src = os.path.join(base_src, 'u.user')
u_cols = ['user_id', 'age', 'sex', 'occupation', 'zip_code']
users = pd.read_csv(u_user_src,
sep='|',
names=u_cols,
encoding='latin-1')
u_item_src = os.path.join(base_src, 'u.item')
i_cols = ['movie_id','title','release date','video release date',
'IMDB URL','unknown','Action','Adventure','Animat ion', 'Children\'s','Comedy','Crime','Documentary ','Drama','Fantasy',
'Film- Noir','Horror','Musical','Mystery','Romance ','Sci-Fi','Thriller','War','Western']
movies = pd.read_csv(u_item_src,
sep='|',
names=i_cols,
encoding='latin-1')
u_data_src = os.path.join(base_src, 'u.data')
r_cols = ['user_id', 'movie_id', 'rating', 'timestamp']
ratings = pd.read_csv(u_data_src,
sep = '\t',
names = r_cols,
encoding = 'latin-1')
# ratings DataFrame에서 timestamp 제거
ratings = ratings.drop('timestamp', axis=1)
movies = movies[['movie_id', 'title']]
강의 자료 이게 맞나요?
0
68
3
6장 Keras로 MF 구현하기 학습 결과
0
164
2
초심자의 질문
0
119
1
코드 공유 폴더가 비어 있습니다.
0
186
1
코드 공유 관련 부탁드립니다.
1
260
2
section 4 네번째 강의에서 pd.merge(x_train, users) 에러 발생
0
289
1
section 2 네번째 강의 score(cf_gender) 실행하면 Error 발생합니다.
0
201
1
MF알고리즘에서 질문이있습니다.
0
365
1
ean_rating = np.dot(sim_scores,movie_ratings) / sim_scores.sum() 부분에서 질문이있습니다.
0
310
1
score를 실행하면 항상 nan이 출력됩니다
0
328
1
user_id가 인덱스범위를 벗어난 값으로 들어옵니다
0
255
1
인덱스 칼럼은 어떻게 접근해야하나요
0
226
1
제공해주신 데이터링크에 들어가면 404가 뜨는데요?
0
365
1
코드 자동완성 속도가 상당히 느린데 개선할 방법이 있을까요?
0
302
1
ValueError: setting an array element with a sequence
0
473
1
users에 대한 인덱스 설정 기준
0
288
1
ppt 자료
0
286
1
train_test_split에 관한 질문입니다.
0
330
1
Timestamp 제거 이유
0
396
1
local variable 'movie_ratings' referenced before assignment
0
256
2
3장 CF_knn 코드 질문
0
261
1
실습 중 에러 'numpy.ndarray' object has no attribute 'drop'
0
1163
2
IntCastingNaNError: 관련 에러
0
436
1
인구통계학적 추천 알고리즘
0
344
1





