#coding:utf-8#读取所有数据,随机分出训练集和测试集,存入txt文件importnumpyasnpfromnumpyimport*fromcollectionsimportCounterimporttimeall=[]list=[]#训练集tlist=[]#测试集forlineinopen(all.txt):line=line.strip().split()#拆分字符串all.append(line)#每行放在列表中random.shuffle(all)#打乱数据集foriinrange(len(all)):ifiint(len(all)*0.7):list.append(all[i])else:tlist.append(all[i])fl=open('train.txt','w')foriinlist:forjini:fl.write(j)fl.write(\t)fl.write(\n)fl.close()fl=open('test.txt','w')foriintlist:forjini:fl.write(j)fl.write(\t)fl.write(\n)fl.close()===============================================================================#将文件存入列表suoyou=[]forlineinopen(test.txt):line=line.strip().split()#拆分字符串suoyou.append(line)#每行放在列表中===============================================================================#cos余弦相似度defcos(vector1,vector2):dot_product=0.0;normA=0.0;normB=0.0;fora,binzip(vector1,vector2):dot_product+=a*bnormA+=a**2normB+=b**2ifnormA==0.0ornormB==0.0:return0else:returndot_product/((normA*normB)**0.5)===============================================================================fromcollectionsimportCounterimporttime#most_loc该时间段最大的地点defmost_loc(words):return(Counter(words).most_common(1))[0][0]loc_most=[]#对应用户最多签到地foriinlist1:iflen(i)==0:loc_most.append([])iflen(i)0:loc_most.append(most_loc(i))printtime.strftime('%Y-%m-%d,%H:%M:%S',time.localtime(time.time()))#显示时间===============================================================================#coding:utf-8a=['a','b','c']b=['1','2','3']cc=dict(zip(a,b))printcc===============================================================================#将时间换算成分钟defminute(time):a,b=time.split(':')a=float(a)b=float(b)c=a*60+breturncloc8_12_loc=[]#对应用户8点到12点签到的地点loc8_12=[]#对应用户8点到12点签到总数foriinrange(len(list0)):loc=[]q=0forjinrange(len(list1[i])):if0=(minute(list3[i][j])-minute('08:00'))240:q=q+1loc.append(list1[i][j])loc8_12_loc.append(loc)loc8_12.append(q)===============================================================================a.sort(reverse=True)#大到小排序===============================================================================forjinrange(3)[::-1]:#倒叙printj===============================================================================a=[4,6,3,9,7]#或取列表最大元素索引值printa.index(max(a))===============================================================================loc1=max(dic,key=dic.get)#获取字典键值最大的键deldic[loc1]#删除字典的某个元素#coding:utf-8===============================================================================将嵌套列表数字写入字符串list=[[1,2,3],[4,5,6]]fl=open('list.txt','w')foriinlist:forjini:j=str(j)fl.write(j)fl.write(\t)fl.write(\n)fl.close()===============================================================================importnumpyasnpfromnumpyimport*pic2=[0.3516483516483517,0.34,0.25925925925925924,0.5466666666666666,0.524390243902439,0.36363636363636365,0.2784552845528455,0.21513002364066194,0.2559241706161137,0.20642201834862386,0.2204585537918871,0.27450980392156865]importmatplotlib.pyplotaspltlabels=[0,2,4,6,8,10,12,14,16,18,20,22]plt.bar(range(len(pic2)),pic2,tick_label=labels,width=1)plt.show()