潜力
来源:互联网 发布:美折促销软件 编辑:程序博客网 时间:2024/05/01 09:30
# -*- coding: utf-8 -*-"""Created on Thu Dec 7 13:10:20 2017@author: Administrator"""import pymongoimport pandasimport pandas as pdimport matplotlib.pyplot as plt import numpy as np import pylab as plimport datetimect='上海'rl='长宁'lk='天山河畔花园'client1 = pymongo.MongoClient('192.168.0.136',27017)db1 = client1.fangjia_statstat = db1.test2_1013_lgclient = pymongo.MongoClient('192.168.0.136',27017) #'192.168.0.65',27777db = client.fangjiaseawater = db.district_statdef some_district_information(ct,rl,lk): #client = pymongo.MongoClient('192.168.0.60',27017) #'192.168.0.65',27777 #db = client.fangjia #seawater = db.district_stat #seawater.find_one() query = {"city":ct,"region":rl,"district_name":lk} fields1 = {"city":1,"region":1, "district_name":1, 'calc_value':1,'calc_value':1,'weekend':1} lt= seawater.count(query) #print(lt) pos = list() for s in seawater.find(query,fields1).limit(lt): pos.append(s) data=pandas.DataFrame(pos) del pos return datadd1=some_district_information(ct,rl,lk)aset={'weekend','region','district_name','city','calc_value'}bset=set(dd1.columns)if aset & bset == aset: dd=dd1[['weekend','region','district_name','city','calc_value']].dropna() if dd.shape[0]>5: vv=dd.sort_values(by=['weekend']) #df=vv.loc[380:] fr=vv.shape[0] print('fr=',fr) print('****************') num=min(120,fr) df=vv.iloc[fr-num:fr] print('PPPPPPPPPPPPPPPPP') df.index=list(range(num)) x=list(df.index) #x=list(df['weekend']) y=list(df['calc_value']) z1 = np.polyfit(x, y, 10) # 生成多项式对象{ p1 = np.poly1d(z1) print(z1) print(p1) xx=df['weekend'] plt.figure(num=None, figsize=(10, 10)) plt.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体 plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问 plt.figure() plt.plot(xx,y,label= '原数据') #plt.scatter(x,y,s=20,c='red',marker='o',alpha=0.9,label= '原数据') c=p1(x)def choose(x,f,cal): a=f(x) if abs(a-cal)/cal<0.03: return cal else: return acc=list()for i in df.index: xx=i f=p1 cal=df['calc_value'][i] #print(cal) b=choose(xx,f,cal) #print('b=',b) cc.append(int(b))df['拟合过滤']=cc"""timeStamp = int(time.mktime(timeArray))timeStamp == 1381419600"""leng=list(range(len(cc)-1))def rate(i): a0=cc[i] a1=cc[i+1] return int(10000*(a1-a0)/a0)dd=list(map(rate,leng))dg=[0]dg.extend(dd)del dd,leng,y,vvdf['增长率']=dgxx=df['weekend'] plt.plot(xx,c,c='black',label= '拟合后')#plt.plot(df['weekend'],c,c='black',label= '拟合后')#plt.scatter(x,cc,s=20,c='green',marker='*',alpha=0.9,label= '原数据')pl.legend()plt.show()import dateutildef before_month_lastday(ti): today=dateutil.parser.parse(str(ti)) first = datetime.date(day=1, month=today.month, year=today.year) lastMonth = first + datetime.timedelta(days=ti*31) print(lastMonth) cc=str(lastMonth.year)+str(lastMonth.month)+str(lastMonth.day) return (lastMonth) #return int(cc)def fga(p): return p*4+120bb=df[['calc_value','weekend']]bb1=bb.iloc[80:120]bby=list(bb1['calc_value'])bbx=list(bb1.index)bbz1 = np.polyfit(bbx, bby,2)# 生成多项式对象{bbp1 = np.poly1d(bbz1)xxx=x[80:120]bbc=bbp1(xxx)xcx=df['weekend'][80:120]plt.figure(num=None, figsize=(8, 6))plt.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问plt.plot(xcx,bbc,c='black',label='拟合后')plt.plot(xcx,bb1['calc_value'])#plt.scatter(xcx,bb1['calc_value'],s=20,c='green',marker='*',alpha=0.9,label= '原数据')bnb=[1,2,3,4,5]bnb1=list(map(before_month_lastday,bnb))bnb2=list(map(fga,bnb))vvb=bbp1(bnb2)vvb=list(map(int,vvb))print('预测价格',vvb)print('日期',bnb1)plt.figure(num=None, figsize=(10, 6))plt.plot(bnb1,vvb)#bbc1="""xcx=df['weekend']plt.plot(xcx,c,c='black',label= '拟合后')"""print(before_month_lastday(1))
# -*- coding: utf-8 -*-"""Created on Sun Nov 12 16:21:34 2017@author: Administrator"""import pymongoimport pandasimport pandas as pdimport matplotlib.pyplot as plt import numpy as np import pylab as plimport sys, timeimport ppct='上海'rl='闵行'lk='和风家园'def pply(ct,rl,lk): client1 = pymongo.MongoClient('192.168.0.136',27017) db1 = client1.fangjia_stat stat = db1.test2_1013_lg client = pymongo.MongoClient('192.168.0.60',27017) #'192.168.0.65',27777 db = client.fangjia seawater = db.district_stat def some_district_information(ct,rl,lk): #client = pymongo.MongoClient('192.168.0.60',27017) #'192.168.0.65',27777 #db = client.fangjia #seawater = db.district_stat #seawater.find_one() query = {"city":ct,"region":rl,"district_name":lk} fields1 = {"city":1,"region":1, "district_name":1, 'calc_value':1,'calc_value':1,'weekend':1} lt= seawater.count(query) #print(lt) pos = list() for s in seawater.find(query,fields1).limit(lt): pos.append(s) data=pandas.DataFrame(pos) del pos return data dd1=some_district_information(ct,rl,lk) aset={'weekend','region','district_name','city','calc_value'} bset=set(dd1.columns) if aset & bset == aset: dd=dd1[['weekend','region','district_name','city','calc_value']].dropna() if dd.shape[0]>5: vv=dd.sort_values(by=['weekend']) #df=vv.loc[380:] fr=vv.shape[0] print('fr=',fr) print('****************') num=min(120,fr) df=vv.iloc[fr-num:fr] print('PPPPPPPPPPPPPPPPP') df.index=list(range(num)) x=list(df.index) #x=list(df['weekend']) y=list(df['calc_value']) z1 = np.polyfit(x, y, 36) # 生成多项式对象{ p1 = np.poly1d(z1) print(z1) print(p1) plt.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体 plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问 plt.figure() plt.plot(x,y,label= '原数据') plt.scatter(x,y,s=20,c='red',marker='o',alpha=0.9,label= '原数据') """ p=p1 def ff(x): a=len(p) b=p[0]*1+p[1]*x+p[2]*x**2+p[3]*x**3+p[4]*x**4+p[5]*x**5 return b c=list(map(ff,x)) """ c=p1(x) def choose(x,f,cal): a=f(x) if abs(a-cal)/cal<0.03: return cal else: return a cc=list() for i in df.index: xx=i f=p1 cal=df['calc_value'][i] #print(cal) b=choose(xx,f,cal) #print('b=',b) cc.append(int(b)) df['拟合过滤']=cc """ timeStamp = int(time.mktime(timeArray)) timeStamp == 1381419600 """ leng=list(range(len(cc)-1)) def rate(i): a0=cc[i] a1=cc[i+1] return int(10000*(a1-a0)/a0) dd=list(map(rate,leng)) dg=[0] dg.extend(dd) del dd,leng,y,vv df['增长率']=dg """ def fgg(df,cc): leng=len(cc)-1 df['增长率']=0 for i in range(leng): a0=cc[i] a1=cc[i+1] ff=(a1-a0)/a0 df['增长率'][i+1]=ff return df #dff=fgg(df,cc) """ def save_to_mongo(i): ct=df['city'][i] rl=df['region'][i] d_name=df['district_name'][i] py=cc[i] ratio=dg[i] date=df['weekend'][i] stat.save({"city":ct,"region":rl,"district_name":d_name, "weeedend":date,"拟合后的价格":py,'增长率':ratio}) #"增长率":df['增长率'][i]}) #map(save_to_mongo,list(df.index)) #cti=['上海'] """ region=region_list(i)[0:] for j in region: lf=region_district_list(i,j) testFL=lf['name'] import time from multiprocessing import Pool if __name__ == "__main__" : startTime = time.time() testFL = df.index pool = Pool(10)#可以同时跑10个进程 pool.map(save_to_mongo,testFL) pool.close() pool.join() endTime = time.time() print ("time :", endTime - startTime) """ """ import time startTime = time.time() list(map(save_to_mongo,df.index)) endTime = time.time() print ("time :", endTime - startTime) """ """ import time startTime = time.time() for i in df.index: save_to_mongo(i) endTime = time.time() print ("time :", endTime - startTime) """ """ import time from multiprocessing import Pool if __name__ == "__main__" : startTime = time.time() testFL = df.index pool = Pool(10)#可以同时跑10个进程 pool.map(save_to_mongo,testFL) pool.close() pool.join() endTime = time.time() print ("time :", endTime - startTime) """ """ #print(df) for i in df.index: ct=df['city'][i] rl=df['region'][i] d_name=df['district_name'][i] py=cc[i-380] ratio=dg[i-380] date="2017-11-17" client1 = pymongo.MongoClient('192.168.0.136',27017) db1 = client1.fangjia_stat stat = db1.test2_1013_lg stat.save({"city":ct,"region":rl,"district_name":d_name, "weeedend":date,"pp":py }) #stat.save({"city":ct,"region":rl, #"district_name":d_name, #"拟合过滤":python_cal, "weeedend":date}) """ plt.plot(x,c,c='black',label= '拟合后') plt.scatter(x,cc,s=20,c='green',marker='*',alpha=0.9,label= '原数据') pl.legend() plt.show()def region_list(city): client = pymongo.MongoClient('192.168.0.136',27017) db = client.fangjia region = db.region_block #seawater.find_one() query = {"city":city,"category":"region"} fields1 = {"name":1} pos = list() for s in region.find(query,fields1): pos.append(s) data=pandas.DataFrame(pos) del pos return data['name']def region_district_list(ct,rl): import pandas client1 = pymongo.MongoClient('192.168.0.136',27017) db1 = client1.fangjia seaweed1 = db1.seaweed query1 = {"status":0,"cat":"district","city":ct,"region":rl} fields1 = {"lat2":1,"lng2":1, "city":1,"region":1, "cat":1,"name":1,'estate_type2':1,'alias':1} lct= list() for s in seaweed1.find(query1, fields1): lct.append(s) lf=pandas.DataFrame(lct) return lf#cti=['上海','北京','广州','深圳']"""cti=['上海']for ct in cti: region=region_list(ct) for rl in region[10:]: dictn=region_district_list(ct,rl) disname=dictn['name'] for lk in disname: print('ct=',ct,'rl=',rl,'lk=',lk) pply(ct,rl,lk)"""ct='上海'rl='闵行'lk='上海康城'print('ct=',ct,'rl=',rl,'lk=',lk)pply(ct,rl,lk)
阅读全文
0 0
- 潜力
- 潜力
- 挖掘潜力
- 潜力无限
- 滥用潜力
- 潜力无限
- 差距彰显出潜力
- 有潜力的网站
- 人的潜力
- 不得志者的潜力
- 潜力创造一切
- EXCEL VBA 的潜力
- 相信自己的潜力
- 运营商挖掘3G潜力
- 1287 潜力接水
- 是否具备项目经理潜力
- 新浪潜力领域分析
- HDFC -市场份额的潜力
- python教程-数据类型
- Netty,Kafka,Muduo关于时间轮的一些思考 之Muduo时间轮
- SQL 优化
- 文章标题
- C#客户端发送Http请求与服务端通信
- 潜力
- Windows 相关
- 常用Sql
- JAVA的修饰符FINAL详解
- android隐藏标题栏/状态栏
- 人工智能时代的新“文盲”:学不懂Python,就看不到未来
- ES7 await/async
- Error:Failed to open zip file错误的解决方法
- 前端小白--web前端ajax请求