trian里面有id和isbn 分别在user和book的csv文件中,布标整合成一个train
book里面的信息
都有isbn,根据这个整合
train=train_df.copy()
# for use in list(user.columns[1:].values):
# train[use]=None
for bo in list(book.columns[1:].values):
train[bo]=None
train
先创建出列名和内容,替换
for i in tqdm(range(len(test))):
test_isbn=test.loc[i][1]
book_hang=book[book.ISBN==test_isbn].index.tolist()[0]
for bo in list(book.columns.values):
# print(book.columns.get_loc(bo)) 所属列的index
try:
test[bo][i]=book.loc[book_hang][book.columns.get_loc(bo)]
except:
print(bo)
tqdm是为了显示进度,不然几十万数据也不知道到哪了
test_isbn=test.loc[i][1]得到isbn数值
book_hang=book[book.ISBN==test_isbn].index.tolist()[0]
不加[0]得到的是一个数组,这个是搜索相同元素返回index
这样就知道同样的isbn在book的哪一行了
for bo in list(book.columns.values):
遍历book的列名,用来替换train里面的None
test[bo][i]=book.loc[book_hang][book.columns.get_loc(bo)]
把内容取出来放到相应的位置
这样提取整合就结束了