我想为书籍交叉数据集构建训练数据矩阵和测试数据矩阵。但是作为 ISBN 代码的 Book Id 可能包含字符。因此,我无法应用此代码(来自教程):
#Create two user-item matrices, one for training and another for testing
train_data_matrix = np.zeros((n_users, n_items))
for line in train_data.itertuples():
train_data_matrix[line[1]-1, line[2]-1] = line[3]
print (line)
test_data_matrix = np.zeros((n_users, n_items))
for line in test_data.itertuples():
test_data_matrix[line[1]-1, line[2]-1] = line[3]
line[2]-1 将导致类型错误:-: 'str' 和 'int' 的操作数类型不受支持。我需要找到另一种方法来构建训练测试矩阵。还有其他构建训练/测试矩阵的方法吗?
迭代 train_data 时的打印行示例:
Pandas(Index=874192, user_id=20859, ISBN='3442248876X', rating=0, title='Die Krieger der Drachenlanze 06. Die Ritter des Schwerts.', Location='tübingen, baden-württemberg, Germany', Age= 0.0)
注意:我考虑创建一个名为 book_id 的新列,该列映射到图书 ISBN,但仅包含整数,以便代码正常工作,但我不知道该怎么做。