python上机编程报告_普及python编程制作报告文化

9d82d158ccbf6c81318c95a9ad59ed3032fa40a0.jpeg?token=8137e4180cf9775c3de953d734c65ca4&s=639602661FB1BA4D447030030000A0C1

由于工作的关系,平常的工作内容接触数据比较多,处理起来也比较繁琐,尤其是清理数据,重复性比较高。面对着大量的数据关系,理清它确实是需要花费点时间。

恰好最近管理层对数据关注度提升了,需要我们每周提供一份报表,报表自动化我一直都想在做的,但是代码一直在摸索中,所以突破不了。本篇也是对报表自动化的前半部分做个详细的讲解,包括数据读取、拆解、透视等。

来,先看我们其中一份数据是这样子的

2f738bd4b31c8701422345d93518c22a0608ffe1.jpeg?token=47c38a685238a19dc77b5533492d6f9f&s=AAA8AC0B9FD148DA8E75E0DE020080B0

我需要从这个数据里知道它的类别和总计数据,之后,我会添加数据的趋势

首先,我们先把需要用到的库导进去,如果没有,可以选安装,也非常简单:pip install XX

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

把库导进去后,找到准备好的数据文件路径,就可以开始把它读出来了。读取数据用了pandas里的内置函数pd.read_excel(),接下来我们用一下刚才那个文件。

chanpin = pd.read_excel(r"E:\深圳大区\报表源数据\产品类.xlsx",usecols=[2,3,4,7,8,9,10,11])

后面的usecols是用来选你需要的列的数据,选中了哪一列,就是读取了哪一列的数据,比如,第6列不重要,那我就不要放在上面了。

用几个方式查看读取的数据,

chanpin.shape #这个函数主要是了解数据的多少列和行

输出:

(2002, 7)

查一下各行列名字段的总计数据

chanpin.info()#这个主要是了解读取的数据的基本情况,包括一些列头、数据类型及行数据等

输出:

RangeIndex: 2002 entries, 0 to 2001

Data columns (total 6 columns):

3级部门 2002 non-null object

4级部门 2002 non-null object

5级部门 2002 non-null object

产品C 2002 non-null int64

产品D 2002 non-null int64

产品E 2002 non-null int64

dtypes: int64(3), object(3)

memory usage: 93.9+ KB

最后,再看一下具体的前面几行的数据

chanpin.head()这个就可以读取具体的数据了

8644ebf81a4c510fa5acb391713e7928d52aa5b9.jpeg?token=e8577a74f70a30c5298036c6d8373c4b&s=449AED3BDFE04C035ED9ADDE0000C0B2

把数据读取出来后,查看数据基本上是用了上面的3个函数;

我们来把表拆开,chanpin1和chanpin2

chanpin1=chanpin[["3级部门","产品B","产品E"]]

chanpin1.head()

输出

9345d688d43f87946dd2e545c17c52f11bd53a1c.png?token=2950a6994f1eadf17e138bbe3077e4b6&s=0EAA7A2361CE4CEA185DA1DA030080B1

chanpin2=chanpin[["3级部门","产品C","产品D"]]

chanpin2.head()

输出:

2e2eb9389b504fc285ca4015f1babb1491ef6df1.png?token=e347961c6463f0b79ff3876879c128eb&s=0EAA7A2361CE4CEA185DA1DA0300C0B1

这样就赋予了两个新表;

接下来,给chanpin2插入一列数据,就是把产品C和产品D加起来,新建了一列数据;

chanpin2.insert(1,"CD的和",chanpin2["产品C"]+chanpin2["产品D"])

chanpin2.head()

这里用的了一个函数insert。

应用方法就是,你想插在那里,就在第一个值那里填序号就可以了,第二个值是你新建的列的命名,第三个值是一个公式,在这里的比较简单,就是产品C和产品D的和;

最后看输出:

7acb0a46f21fbe09de63eb677c0750368744ad74.png?token=b775b252d088e3ea9f0220166e6b7201&s=1EAA76234B4F44C8185DA4DA030080B1

最后对原本做一个透视,在平常的表格处理的过程中运用到最多的就是透视表:

chanpin3 = chanpin[["3级部门","产品E","日期"]]

pd.pivot_table(chanpin3,values="产品E",columns="日期",index="3级部门",aggfunc="sum")

输出结果:

bd315c6034a85edfa7cfcfd65a335526dc54756b.png?token=e368db909c2409ecfa7dbbc8ca2dcc96&s=0EAA7E229BFF418A4A7D61DB030080B0

有了这一列数据,我们就可以做图表了。下篇,我们继续。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值