def get_users_products(self, prior_or_train):
'''
get users' all purchased products
'''
if os.path.exists(self.cache_dir + 'users_products.pkl'):
with open(self.cache_dir + 'users_products.pkl', 'rb') as f:
users_products = pickle.load(f)
else:
users_products = self.get_users_orders(prior_or_train)[['user_id', 'product_id']].drop_duplicates()
users_products['product_id'] = users_products.product_id.astype(int)
users_products['user_id'] = users_products.user_id.astype(int)
users_products = users_products.groupby(['user_id'])['product_id'].apply(list).reset_index()
with open(self.cache_dir + 'users_products.pkl', 'wb') as f:
pickle.dump(users_products, f, pickle.HIGHEST_PROTOCOL)
return users_products
评论列表
文章目录