python 画图、简单报表制作

Python实现自动化报表 product_analysis['销售额占比'] = (product_analysis['销售额'] / product_analysis['销售额'].sum()).round(4)monthly['利润率'].plot(kind='line', marker='o', ax=ax3, color='green')monthly['销售额'].plot(kind='bar', ax=ax1, color='steelblue') 阅读详情

代码部分

# -*- coding:utf-8 -*- 

#统计
#运行环境python2.7
#需要安装python,numpy,pandas,matplotlib等
import sys
reload(sys)
sys.setdefaultencoding('gb18030')
#sys.setdefaultencoding('utf8')


import numpy as np
import pandas as pd
from pandas import Series,DataFrame


file_name = r'D:/workspace/pythonML/yucefenxi/telephonedirectory.xlsx'
dframe = pd.read_excel(file_name,skiprows=[0])
#######################################
#查看数据
#print dframe
########################################
##统计年度业务总量
dframe.columns = ['index','name','telephonenumber','date']
dframe['date'] = pd.to_datetime(dframe['date'])
dframe = dframe.set_index('date')
df2014 = dframe['2014']
df2015 = dframe['2015']
df2016 = dframe['2016']
#print df2014.size,df2015.size,df2016.size


#########################################
#统计某个单位的业务量,折线图,柱状图显示
#以2016年为例
df2016 = df2016.reset_index()
df_x = df2016.groupby(['name']).count().reset_index().iloc[:,[0]]
df_y = df2016.groupby(['name']).count().reset_index().iloc[:,[1]]


x = [i[0] for i in np.array(df_x)]
y = [j[0] for j in np.array(df_y)]
#y.sort()#如果需要排序显示,用sort()函数


#柱状图显示
import matplotlib.pyplot as plt 
def draw_bar(labels,y):
plt.figure(2, figsize=(6,6)) 
plt.rcParams['font.sans-serif']=['SimHei']#用来显示中文
plt.rcParams['axes.unicode_minus']=False#用来显示负号
plt.bar(range(len(y)),y,color='rgb',tick_label=labels,align='center',alpha = 0.5)
plt.title("2016年业务量柱状图显示") 
plt.xlabel("业务姓名")
plt.ylabel("业务数量")
plt.show() 
draw_bar(x,y)


#饼图显示
import numpy as np  
import matplotlib.pyplot as plt  
import matplotlib as mpl  
  
def draw_pie(labels,y):    
    plt.figure(1, figsize=(6,6))
    plt.rcParams['font.sans-serif']=['SimHei']
    plt.rcParams['axes.unicode_minus']=False  
    expl = [0]*len(y)  
    colors  = ["blue","red","coral","green","yellow","orange"]  
    plt.pie(y, explode=expl, colors=colors, labels=labels, autopct='%1.1f%%',pctdistance=0.8, shadow=True)  
    plt.title('2016年业务量饼图显示', bbox={'facecolor':'0.8', 'pad':5})  
    plt.show()  
draw_pie(x,y)  


#折线图显示
def draw_plot(labels,y):
plt.figure(1, figsize=(6,6))
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False  
plt.plot(range(len(y)), y,linewidth=3,color='r',marker='o',markerfacecolor='blue',markersize=8)
plt.xticks(range(len(y)),labels, rotation=0)
plt.title('2016年业务量柱状图显示') 
plt.xlabel('业务姓名') 
plt.ylabel('业务数量') 
plt.show()
draw_plot(x,y)


#########################################
#按月统计
#获取某月的数据
#print dframe['2016-11'] # 获取某月的数据
#获取某个时间段内的数据
#print dframe['2015-11-06':'2016-11-06']


#########################################
#以2016年为例,按月统计
df_period = dframe['2016-01-01':'2016-12-31'].to_period('M')
#按年统计为A 按季度统计为Q 按月统计为M
#print df_period
df2016m_x = df_period.reset_index().groupby(['date']).count().reset_index().iloc[:,[0]]
df2016m_y = df_period.reset_index().groupby(['date']).count().reset_index().iloc[:,[1]]
m_x = [i[0].month for i in np.array(df2016m_x)]
m_y = [j[0] for j in np.array(df2016m_y)]


#按月柱状图显示
def draw_bar(labels,y):
labels = [str(i)+'月' for i in labels]
plt.figure(2, figsize=(6,6)) 
plt.rcParams['font.sans-serif']=['SimHei']#用来显示中文
plt.rcParams['axes.unicode_minus']=False#用来显示负号
plt.bar(range(len(y)),y,color='rgb',tick_label=labels,align='center',alpha = 0.5)
plt.title("2016年业务量按月统计柱状图显示") 
plt.xlabel("业务月份")
plt.ylabel("业务数量")
plt.show() 

draw_bar(m_x,m_y)



数据部分

A B C D
1 老爸 13385452147 2014/4/23
2 老婆 15236985241 2014/5/3
3 老婆 15236985241 2014/1/12
4 老姐 15447877758 2014/4/5
5 老妹 13747855698 2014/5/3
6 哥哥 13152563698 2014/1/12
7 姐姐 13566982325 2014/4/5
8 姐姐 13566982325 2014/5/3
9 弟弟 13254122323 2015/1/12
10 老妹 13747855698 2014/4/5
11 老妹 13747855699 2015/5/3
12 老妹 13747855700 2015/1/12
13 老妹 13747855701 2014/4/5
14 老妹 13747855702 2014/5/3
15 老妹 13747855703 2014/1/12
16 老妹 13747855704 2014/4/5
17 老妹 13747855705 2014/5/3
18 老妹 13747855706 2015/1/12
19 老妹 13747855707 2014/4/5
20 老妹 13747855708 2014/5/3
21 老妹 13747855709 2014/1/12
22 老妹 13747855710 2014/4/5
23 老妹 13747855711 2014/5/3
24 老爸 13385452147 2014/1/12
25 老妈 13014754588 2014/4/5
26 老师 15896583323 2014/5/3
27 老姐 15447877758 2016/1/12
28 老婆 15236985241 2014/4/5
29 老爸 13385452147 2014/5/3
30 老爸 13385452147 2014/4/5
31 老婆 15236985241 2014/5/3
32 老婆 15236985241 2014/1/12
33 老姐 15447877758 2014/4/5
34 老妹 13747855698 2014/5/3
35 哥哥 13152563698 2014/1/12
36 姐姐 13566982325 2014/4/5
37 姐姐 13566982325 2014/5/3
38 弟弟 13254122323 2015/1/12
39 老妹 13747855698 2014/4/5
40 老妹 13747855699 2015/5/3
41 老妹 13747855700 2014/1/12
42 老妹 13747855701 2014/4/5
43 老妹 13747855702 2014/5/3
44 老妹 13747855703 2014/1/12
45 老妹 13747855704 2014/4/5
46 老妹 13747855705 2014/5/3
47 老妹 13747855706 2014/1/12
48 老妹 13747855707 2014/4/5
49 老妹 13747855708 2014/5/3
50 老妹 13747855709 2014/6/12
51 老妹 13747855710 2014/4/5
52 老妹 13747855711 2014/5/3
53 老爸 13385452147 2014/1/12
54 老妈 13014754588 2014/4/5
55 老师 15896583323 2014/5/3
56 老姐 15447877758 2015/7/12
57 老婆 15236985241 2015/4/5
58 老爸 13385452147 2015/5/3
59 老爸 13385452147 2015/4/5
60 老婆 15236985241 2015/5/3
61 老婆 15236985241 2015/1/12
62 老姐 15447877758 2015/4/5
63 老妹 13747855698 2015/5/3
64 哥哥 13152563698 2015/1/12
65 姐姐 13566982325 2015/4/5
66 姐姐 13566982325 2015/5/3
67 弟弟 13254122323 2015/1/12
68 老妹 13747855698 2015/4/5
69 老妹 13747855699 2015/5/3
70 老妹 13747855700 2015/1/12
71 老妹 13747855701 2015/4/25
72 老妹 13747855702 2015/5/3
73 老妹 13747855703 2015/1/12
74 老妹 13747855704 2015/4/5
75 老妹 13747855705 2015/5/3
76 老妹 13747855706 2016/1/12
77 老妹 13747855707 2016/4/5
78 老妹 13747855708 2016/5/3
79 老妹 13747855709 2016/1/12
80 老妹 13747855710 2016/4/5
81 老妹 13747855711 2016/5/3
82 老爸 13385452147 2016/1/12
83 老妈 13014754588 2016/4/5
84 老师 15896583323 2016/5/3
85 老姐 15447877758 2016/1/12
86 老婆 15236985241 2016/4/5
87 老爸 13385452147 2016/5/3
88 老爸 13385452147 2016/4/5
89 老婆 15236985241 2016/5/3
90 老婆 15236985241 2016/1/12
91 老姐 15447877758 2016/4/5
92 老妹 13747855698 2016/5/3
93 哥哥 13152563698 2016/1/12
94 姐姐 13566982325 2016/4/5
95 姐姐 13566982325 2016/5/3
96 弟弟 13254122323 2016/1/12
97 老妹 13747855698 2016/4/5
98 老妹 13747855699 2016/5/3
99 老妹 13747855700 2016/1/12
100 老妹 13747855701 2016/4/5
101 老妹 13747855702 2016/5/3
102 老妹 13747855703 2016/1/12
103 老妹 13747855704 2016/4/5
104 老妹 13747855705 2016/5/3
105 老妹 13747855706 2016/6/12
106 老妹 13747855707 2016/7/5
107 老妹 13747855708 2016/5/3
108 老妹 13747855709 2016/1/12
109 老妹 13747855710 2016/4/5
110 老妹 13747855711 2016/5/3
111 老爸 13385452147 2016/1/12
112 老妈 13014754588 2016/4/5
113 老师 15896583323 2016/5/3
114 老姐 15447877758 2016/1/12
115 老婆 15236985241 2016/4/5
116 老爸 13385452147 2016/5/3
100 老妹 13747855701 2016/7/5
101 老妹 13747855702 2016/8/3
102 老妹 13747855703 2016/9/12
103 老妹 13747855704 2016/10/5
104 老妹 13747855705 2016/11/3
105 老妹 13747855706 2016/10/12
106 老妹 13747855707 2016/10/5
107 老妹 13747855708 2016/10/3
108 老妹 13747855709 2016/11/12
109 老妹 13747855710 2016/12/5
110 老妹 13747855711 2016/12/3
111 老爸 13385452147 2016/7/12
112 老妈 13014754588 2016/9/5
113 老师 15896583323 2016/9/3
114 老姐 15447877758 2016/9/12
115 老婆 15236985241 2016/7/5
116 老爸 13385452147 2016/9/3
112 老妈 13014754588 2016/2/5
113 老师 15896583323 2016/3/3
114 老姐 15447877758 2016/2/12
115 老婆 15236985241 2016/3/5
116 老爸 13385452147 2016/3/3







用Python三步生成带有图表的word报表,工作神技巧! 最近在项目中做了一个生成并导出word报表的功能,在这里分享给大家。 经过查看ESPC原有的生成报表代码和网上查阅的一些方法,解决方案的思路如下: **1.**利用pychartdir库生成图表,保存图片,转成字节数据 **2.**然后使用office办公软件编写所需要的模板word,另存为xml文件 **3.**利用jinja2库渲染修改好的模板,然后写入.doc文件即可 那下面我将我实现的过程... 阅读详情

相关推荐

Python绘制表格

Python的Plotly模块可以实现绘制表格。Plotly是基于JavaScript的Python封装,它可以为很多编程语言提供接口。而交互式、美观、使用方便也成为了Plotly最大的优势。Plotly是一个单独的绘图库,与Matplotlib绘图库、Seaborn绘图库并没有什么关系,它有自己独特的绘图语法、绘图参数和绘图原理,与Python中Matplotlib、NumPy、和Pandas等库可以做到无缝连接。Plotly支持绘制表格,而且绘图效果非常美观。

专注Python和R语言,分享Python和R语言入门教程 4462

python向图标添加表格

import matplotlib.pyplot as plt import numpy as np from matplotlib import patheffects # plt.figure() # # ax = plt.gca() y = np.random.random(9) col_tables = ['col1','col2','col3'] row_tables = ['...

lv941002的博客 835

【一】PCIe基础知识

Linux PCIe基础知识

他山之石 可以攻玉 4万+

制作报表xlwt

(留存备忘,转自author:骆昊) 导出Excel报表 报表就是用表格、图表等格式来动态显示数据,所以有人用这样的公式来描述报表: 报表 = 多样的格式 + 动态的数据 有很多的三方库支持在Python程序中写Excel文件,包括xlwt、xlwings、openpyxl、xlswriter等,其中的xlwt虽然只支持写xls格式的Excel文件,但在性能方面的表现还是不错的。下面我们就以xlwt为例,来演示如何在Django项目中导出Excel报表。 安装xlwt。 pip insta

Alocus的博客 351

OpenCV13-图像噪声:椒盐噪声和高斯噪声

考虑到椒盐噪声会在图像中的任何一个位置随机产生,因此对于椒盐噪声的生成,需要使用OpenCV中能够产生随机数的函数。OpenCV中也没有专门为图像添加高斯噪声的函数,对早在图像中添加椒盐噪声的过程,可以根据需求利用能够产生随机数的函数来完成在图像中添加高斯噪声的任务。椒盐噪声又称作脉冲噪声,他会随机改变图像中的像素值,其样子就像是在图像上随机地撒上一些盐粒和黑椒粒,因此被称为椒盐噪声。函数能够产生均匀分布或者高斯分布的随机数,可以利用该函数产生符合高斯分布的随机数,之后在图像中加入这些随机数即可。

SHLYYY 5122

从IR Drop到EM分析:数字IC电源规划中那些没人明说的细节(以MTCMOS配置为例)

本文深入探讨数字IC后端设计中电源规划的关键细节,特别关注MTCMOS配置、电源网络电阻最小化和level shifter供电等实战技巧。通过分析IR Drop和EM问题,提供优化floorplan和powerplan的具体策略,帮助工程师避免常见陷阱,提升芯片设计的稳定性和可靠性。

q9w8e7r6t5的博客 511

如何用python做一个表格,python怎么快速做表格

(1)什么是xlrd模块?python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。(2)为什么使用xlrd模块?在UI自动化或者接口自动化中数据维护是一个核心,所以此模块非常实用不学python可以学c语言吗。xlrd模块可以用于读取Excel的数据,速度非常快,推荐使用!官方文档:https://xlrd.readthedocs.io/en/latest/1、常用单元格的数据类型empty(空的)numberdate。

chatgpt001的博客 2294

Mixly 数码管时钟

  本文是米思齐数码管图形化编程实验总结分享,走过路过的来看看吧,其中的不足望指出。 一、实验目的及要求 【实验一】实现滚动显示自定义字符串。 【实验二】实现显示自定义时间。 【实验三】实现显示秒表。 二、实验原理与内容 实现米思齐的数码管图形化编程。 三、实验软硬件环境 硬件:Arduino、TM1637数码管 软件:Mixly IDE 四、核心代码及实验效果如下所示 1.实现滚动显示...

weixin_44614199的博客 1648

python生成pdf报表_用python的reportlab库生成PDF报表

前言reportlab不是python的标准库,它的强大之处在于能满足绝大部分报表的需求形式,这篇文章将介绍reportlab中基本常用的api,使用canvas画出一份整洁的PDF报表。内容均来自reportlab的官方user guide。依赖与安装首先,这里是官方的installation guide。reportlab目前应该只是支持到python2.7, py3的同学另想办法吧。楼主的环...

weixin_39896839的博客 171

Ansys Zemax与Speos协同设计:从HUD光学优化到驾驶环境可视化全流程解析

本文深入解析了如何利用Ansys Zemax与Speos进行协同设计,实现从HUD光学系统核心优化到驾驶环境可视化验证的全流程。文章强调了HUD设计是光学性能与视觉感知的深度耦合,通过Zemax进行精密光学设计,再利用Speos进行系统级仿真与感知模拟,最终完成从虚拟到现实的闭环验证,有效提升HUD产品的开发效率与可靠性。

weixin_29199873的博客 249

软考中级信息系统监理师(第二版)-第21章基础设施工程监理

由于网络信息技术的飞速发展,变化日新月异,网络设计不但要保证目前网络传输容量的要求,也要考虑今后网络的发展,满足当前以及今后相当一段时间内的网络需求,便于向新技术的升级和衔接,同时又需要保护原有的投资。通用布缆系统工程中,承建单位的竣工文档主要包括以下内容:承建合同,招标文件,投标文件,设计方案,工程实施组织设计方案,工程施工报告,隐蔽工程记录,变更记录,自测报告,信息点分布图(表),园区、楼宇、水平配线表,楼层平面图及无线设备点位图,无线设备信息表,竣工图纸等。多排安装时,列间距不应小于1200mm。

2301_78583973的博客 1400

帆软报表嵌入python程序_帆软报表开发步骤

1.新建数据连接新建数据连接的目的是让 FineReport 设计器连接数据库,这样报表就可以在数据库中读取、写入或修改数据。数据连接的方式有两种,分别是连接内置数据库和连接外置数据库。制作这张报表连接的是 FineReport 内置的 SQLite 类型的数据库,有关外置数据库的连接可参见JDBC连接数据库。1)打开设计器,菜单栏选择服务器>定义数据连接。2)弹出「定义数据连接」对话框,...

weixin_39799825的博客 2160

【Bug已解决】Codex CLI 运行时出现 command not found: codex 解决方案

方案适用场景推荐指数修复 PATH 配置最常见的基础排查方向⭐⭐⭐⭐⭐检查原生二进制完整性PATH 正常但执行仍然异常⭐⭐⭐⭐统一包管理器混用多种包管理器导致混乱⭐⭐⭐⭐确认安装脚本未被跳过CI/CD 或企业策略环境⭐⭐⭐⭐排查网络下载渠道企业内网/受限网络环境⭐⭐⭐需要留意 warning 中是否涉及脚本执行失败、网络超时重试等信息,这类 warning 往往是后续问题的前兆,建议出现明显的下载/网络相关警告时就主动重新安装一次确认。Codex CLI 报。

一键难忘的博客 1万+

报表工具实现单据套打

实际项目开发中,很多情况会涉及到单据的打印。即在一张印刷好的空白单据上,准确无误地打印上单据的内容。用传统的报表工具,我们通常会用尺子量每一个数据区域的位置,然后在屏幕上根据尺子量出的尺寸设计每一个格子的位置,反复调试。不过,这样制作一张单据打印的报表费时费力,而且一旦单据格式发生变化,报表制作人员又要重新制作报表。 接下来,小编给大家介绍一款可以轻松搞定套打问题的爆款神器 — 润乾报表 (别问...

RQlyc的博客 2170

Allegro如何设置走线自动删除重复走线操作指导

Allegro如何设置走线是自动删除重复走线操作指导在PCB布线的时候,点到点需要重复走一段线的时候,希望原来的线段自动被删除,Allegro设计的时候支持这个操作如下图,重复走中间的线段的时候,希望下方的走线自动删除具体操作如下This section is describe what the function allegro have ,helpfully could let user know more about allegroAllegro Design and Analysis includes

weixin_54787054的博客 4499

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python生成web报表_用python的reportlab库生成PDF报表

前言reportlab不是python的标准库,它的强大之处在于能满足绝大部分报表的需求形式,这篇文章将介绍reportlab中基本常用的api,使用canvas画出一份整洁的PDF报表。内容均来自reportlab的官方user guide。依赖与安装首先,这里是官方的installation guide。reportlab目前应该只是支持到python2.7, py3的同学另想办法吧。楼主的环...

weixin_39860757的博客 405

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

python 生成pdf报表_用python的reportlab库生成PDF报表

前言reportlab不是python的标准库,它的强大之处在于能满足绝大部分报表的需求形式,这篇文章将介绍reportlab中基本常用的api,使用canvas画出一份整洁的PDF报表。内容均来自reportlab的官方user guide。依赖与安装首先,这里是官方的installation guide。reportlab目前应该只是支持到python2.7, py3的同学另想办法吧。楼主的环...

weixin_39634878的博客 239

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

工作汇报神技!用Python三步生成带有图表的word报表

近在项目中做了一个生成并导出word报表的功能,在这里分享给大家。 经过查看ESPC原有的生成报表代码和网上查阅的一些方法,解决方案的思路如下: 1.利用pychartdir库生成图表,保存图片,转成字节数据 2. 然后使用office办公软件编写所需要的模板word,另存为xml文件 3.利用jinja2库渲染修改好的模板,然后写入.doc文件即可 那下面我将我实现的过程记录给...

w17688977481的博客 2864

python报表框架_Python最牛X的模块库

今天晚上就带大家了解 Python 中那些很神奇的模块、库,一秒调用用别人的代码实现自己想要的功能。Python拥有一个强大的标准库,提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库命名接口清晰、文档良好,很容易学习和使用。另外有大量的 。它们的功能无所不包,覆盖科学计算、Web开发、数据库接口、图形系统多个领域,并且大多成熟而稳定。掌...

weixin_39756445的博客 1196

黑科技!当会爬虫的Python遇上会画图的FineBI……

我们平时在用Python爬取网页上的数据时,对爬取到到的数据做数据分析展现有很多种方式,比如可以通过echart图表接口、python提供的第三方库,甚至还可以用matlab工具来进行数据统计和图表可视化展现。 可无论是以上哪一种方式,都需要通过代码来调用Python爬好的数据来进行画图,图表样式属性设置等方面还是比较繁琐的。 同样的问题,有一次小编领导要求我做一份有关于南京房价的数据汇报,需要做到报表里面。数据是没有的,自然而然想到用Python爬,爬好后直接做数据图表粘贴到报表中。但后来发现方法太土

帆软商业智能技术 1015

python调用报表制作工具_工作汇报神技!用Python三步生成带有图表的word报表

最近在项目中做了一个生成并导出word报表的功能,在这里分享给大家。经过查看ESPC原有的生成报表代码和网上查阅的一些方法,解决方案的思路如下:1.利用pychartdir库生成图表,保存图片,转成字节数据2. 然后使用office办公软件编写所需要的模板word,另存为xml文件3.利用jinja2库渲染修改好的模板,然后写入.doc文件即可那下面我将我实现的过程记录给大家分享一下。一利用pyc...

weixin_39638603的博客 186

python表格生成图表_工作汇报神技!用Python三步生成带有图表的word报表

原标题:工作汇报神技!用Python三步生成带有图表的word报表最近在项目中做了一个生成并导出word报表的功能,在这里分享给大家。经过查看ESPC原有的生成报表代码和网上查阅的一些方法,解决方案的思路如下:1. 利用pychartdir库生成图表,保存图片,转成字节数据2. 然后使用office办公软件编写所需要的模板word,另存为xml文件3. 利用jinja2库渲染修改好的模板,然后写入...

weixin_39683598的博客 262
上一篇: 决策树的python实现
下一篇: scala 多线程
Shadow_mi
博客等级 码龄10年 12粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值