Excel生成直方图,python如何生成excel图表

  Excel生成直方图,python如何生成excel图表

  # -*-编码:utf-8-*-将地理哈希导入为geohashimport xlwt #写入超过文件的库导入xlrd #读取进出口时间导入日期时间导入地理哈希#把经纬度转换为geohashimport random start _ time=datetime。日期时间。now()hang=0 lie=0 #以下为读取excel我的工作簿=xlrd。open _ workbook( 001。xls )我的工作表=我的工作簿。sheets()#获取工作表列表。table=myWorkbook.sheets()[0] #获取表的总行数我的工作表行=表格。nrowsprint(我的工作表_行)#我的工作表_行为获取"销售"工作表中的总行数mySheet=mySheets[0] #通过索引顺序获取。table.cell(rowx,colx)#以下为写入ExcelmyWorkbook2=xlwt .工作簿()#创建超过工作表我的工作表2=我的工作簿2。add _ Sheet( Test _ Sheet )#添加超过工作表,我的工作表2为新建Excelwhile hangmySheets_rows: #只要没有最后一行我的行值=我的工作表。row _ values(挂起)# lie是行数,从0开始计数,返回目录对象地理GPS=地理哈希。encode(float(myrow values[4]),float(myRowValues[3]),precision=6) #第四列和第5列为经纬度#数据=地理哈希。编码(116.255421,40.201209,精度=7),输出uzuxfzc开始时间=日期时间。日期时间。from timestamp(float(my row values[1]))#把Unix操作系统操作系统时间戳转换为正常时间结束时间=日期时间。日期时间。范围内I的from时间戳(float(my row values[2])(len(my row values)):我的工作表2。write(hang,lie,我的行值[I])lie=1我的工作表2。写(悬挂,谎言,地理定位)#最后一列插入geohash6 mySheet2.write(hang,lie 1,startTime) #最后一列插入startTime mySheet2.write(hang,lie 2,startTime.weekday()) #最后一列插入开始时间的星期几mySheet2.write(hang,lie 3,endTime) #最后一列插入endTime mySheet2.write(hang,lie 4,random.randint(1,7)) #最后一列插入endTime mySheet2.write(hang,lie 5,round(random.uniform(0.01,0.05),6)) #最后一列插入随机小数i=0 lie=0 hang=1print(共改变字符串(悬挂) 行)我的作业本2。保存(测试02。xls )end _ time=datetime。日期时间。现在()速度=结束时间-开始时间打印(一共用时:字符串(速度))生成超过如图工作日和要求都是随机生成的数字

  #导入本笔记所需的所有包导入数据导入随机#用于采样导入日期时间作为dtfrom时间导入睡眠导入熊猫作为pdimport seaborn作为社交网络号码标准可视化导入matplotlib.pyplot作为工厂编号用于子图和更宽的图从窝导入超时#使用超时错误用于乔哈希姆上的异常导入更快#用于熊猫应用程序的轻松并行化导入geohash #用于解码地理编码器的地理名称#用于将横向/纵向转换为地理位置的地址。距离导入距离之间的距离对于更漂亮的plotsgeolocator=nomim(user _ agent= HQ 0 pexsngppwofjrtouhjw 95g 5 urrd 8 p )df _ train=PD。read _ excel( test 02。xls’)df _ train。主管(2)#地块每个工作日和一天的合计需求#绘制每个工作日和一天中的总需求fig,ax=plt.subplots(1,2,figsize=(15,5))#fig,ax=plt.subplots(1,3,figsize=(15,7)),这样就会有一行3个15x7大小的子图。df_train.groupby([weekday]).sum()需求。plot(kind= bar ,ax=ax[0]) #第一个直方图df _ train。group by(df _ train[ datetime ]。dt。小时).sum()需求。plot(kind= bar ,ax=ax[1])#第2个直方图,画出每小时的需求量plt.show()#fig,ax=pyplot.subplots(figsize=(16,4))#sns.barplot(data=df_sample,x=weekday ,y=demand ,ax=ax)生成如下图

  把两个结果合并groupby([df_train[weekday],df_train[datetime].dt.hour]

  每周每小时进行分组依据

  #最后,让我们来看看这两个图表的组合fig,ax=plt.subplots(figsize=(20,5))df _ train。group by([df _ train[ weekday ],df_train[datetime].dt.hour]).sum()需求。plot(kind= bar ,ax=ax)plt.show()

  当移动5小时时的需求图#移位5小时时的需求图#当移动5小时时的需求图df _ temp=df _ train。copy()df _ temp[ datetime ]=df _ temp[ datetime ]dt。时间增量(小时=8)#打印(dt。时间增量(小时=8)结果8:00:00fig,ax=plt.subplots(1,2,figsize=(15,5))df_temp.groupby([weekday]).sum()demand . plot(kind= bar ,ax=ax[0])df _ temp。group by(df _ temp[ datetime ]。dt。小时).sum()需求。plot(kind= bar ,ax=ax[1])plt.show()

  将熊猫作为螺纹中径导入海生的作为社交网络号码标准可视化导入matplotlib.pyplot作为工厂编号用于子图和更宽的图从窝导入超时#使用超时错误用于geohashimport swifter #用于熊猫应用程序的轻松并行化导入geohash #以解码来自地理编码器的geohash #以将横向/纵向转换为来自地理距离的地址导入距离#用于两个坐标之间的距离sns.set() #用于更漂亮的图地理定位器=名称(用户代理= hq0pe读取超过的geohash6这一列,转换为经纬度放到地理缓存#打印(地理缓存)结果:[{geohash6: wm6n8t , lat: 30.70404052734375, lon: 104.0899658203125},{geohash6: wm6p03 , lat: 30.76995849609375, lon :104.0789794921875 } df _ train=df _ train。合并(PD。DataFrame(geo_cache),how=left ,on=geohash6)#合并纬度距离=距离((df_train[lat]).max(),0),(df_train[lat].min(),0))lon_dist=距离((0,df_train[lon].max()),(0,df_train[lon].min()))打印(f 所有地理位置都在{round(lat_dist.meters,2)}m x {round(lon_dist.meters,2)}m 的区域内输出

  所有地理位置都在24359.69米x 17121.89m米米的区域内

  进程已结束,退出代码0

  绘制坐标散点图

  将熊猫作为螺纹中径导入海生的作为社交网络号码标准可视化导入matplotlib.pyplot作为工厂编号用于子图和更宽的图从窝导入超时#使用超时错误用于geohashimport swifter #用于熊猫应用程序的轻松并行化导入geohash #以解码来自地理编码器的geohash #以将横向/纵向转换为来自地理距离的地址导入距离#用于两个坐标之间的距离sns.set() #用于更漂亮的图地理定位器=名称(用户代理= hq0pe读取超过的geohash6这一列,转换为经纬度放到地理缓存#打印(地理缓存)结果:[{geohash6: wm6n8t , lat: 30.70404052734375, lon: 104.0899658203125},{geohash6: wm6p03 , lat: 30.76995849609375, lon :104.0789794921875 } df _ train=df _ train。合并(PD。DataFrame(geo_cache),how=left ,on=geohash6)#合并def aggregate _ demand(x):x[ demand ]=x[ demand ].sum() x[lat]=x[lat].min() x[lon]=x[lon].min()返回x#图全时段按位置汇总的一般需求df _ temp=df _ train。分组依据([ geo hash 6 ]).应用(总需求).drop _ duplicates(subset=[地理哈希6 ])#把超过中的geohash6列应用总需求()函数,#熊猫之drop_duplicates:去除重复项fig,ax=plt.subplots(figsize=(7,7)) #不符合scalesns.scatterplot(x=lon ,y=lat ,size=demand ,data=df _ temp)PLT。显示()#散点图()散点图

  其中 查看df_temp变量,里面多出一个lat一个lon列,demand也是汇总过的

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: