2017-12-17 5 views
-2

나는 사용자 정의 항목 행렬을 가지고 있는데, 각 행은 사용자에 해당하고 각 열은 항목에 해당합니다. 나는 DataFrame 생성하려면 다음 코드를 사용Numpy matrix to Pandas DataFrame

user item rating 
0  1 1907  4.0 
1  1 1028  5.0 
2  1 608  4.0 
3  1 2692  4.0 
4  1 1193  5.0 

: 다음과 같이 나는 것과 같은 팬더 DataFrame에 행렬을 변환 할

predictions = pd.DataFrame(data=pred) 
predictions = predictions.stack().reset_index(name='rating') 
predictions.columns = ['user', 'item', 'rating'] 

와 나는이 같은 DF을 구하십시오

 user item rating 
0   0  0 5.000000 
1   0  1 0.000000 
2   0  2 0.000000 
3   0  3 0.000000 

사용자 및 항목 열의 각 값을 목록에 저장된 값에 매핑하는 방법이 있습니까? 0 값을 가지고있는 사용자는 사용자 목록, 사용자 목록에서 6 번째 요소 값 5 사용자의 1 값으로 매핑되어야 등등 ... 내가 사용하려고 해요 :

predictions[["user"]].apply(lambda value: users[value]) 

을하지만 나는있어 내 사용자 목록이 크기 때문에 IndexError 이해가 안 96 내 잘못이 코드에 있었다

IndexError: ('index 96 is out of bounds for axis 1 with size 96', 'occurred at index user') 
+0

무엇을'처럼 pred'입니까? – akilat90

+0

@ akilat90 pred는 나의 numpy 매트릭스입니다 – Progeny

+0

물론! 어떻게 생겼는지 보여줄 수 있습니까? – akilat90

답변

0

:

while not session.should_stop(): 
    predictions = session.run(decoder_op) 
    pred = np.vstack((pred, predictions)) 

단지로 대체 :

np.vstack((pred, predictions)) 

과 함께 마법처럼 작동합니다

predictions['user'] = predictions['user'].map(lambda value: users[value]) 
predictions['item'] = predictions['item'].map(lambda value: items[value])