Python处理数据集-2
原数据集的数据格式:
每行为:(test_User, test_Item) negativeItem1 negativeItem2 negativeItem3 …… negativeItem99
即每一行对应一个user 与100个item,其中1个item为整理,其余99个为负例。
将要处理成的目标数据的数据格式为:
每一行对应一个User与一个Item,用“,”隔开,写入一个新的文件。
【解决方案】
ef load_test_user_item_file(filename): user_item_file = open('test_user_item_file.test','w',encoding='UTF-8') with open(filename, "r") as f: line = f.readline() while line != None and line != "": arr = line.split(" ") # 针对 Musical_Instruments 数据集 arr[0] = arr[0].lstrip("(") arr[0] = arr[0].rstrip(")") user = arr[0].split(",")[0] item = arr[0].split(",")[1] user_item_file.write( user + ',' + item + '\n') for x in arr[1:]: if x == arr[99]: user_item_file.write(user + ',' + x ) else: user_item_file.write(user + ',' + x + '\n') line = f.readline() return user_item_file
结果为:
posted on 2019-07-30 16:00 CuriousZero 阅读(903) 评论(0) 编辑 收藏 举报