excel学习库

excel表格_excel函数公式大全_execl从入门到精通

「Python教程」有了它,excel彻底沦为工具人!pandas模块(一)

大家好,欢迎收看思路实验室出品的Python入门教程,我是室长。

今天我们要了解的模块是数据处理,表格整理的主力,是信息爬取,数据可视化的重要基石。有了它,我们可以不用忍受excel那复杂的操作、令人头大的快捷键、坑爹的速度和内存占用,让它彻底沦为工具人!

没错,它就是pandas!

在我们学习的Python基础数据类型中,好像没有一种数据类型适合制作表格。用列表套列表吧,难以索引,也不好看。如果你知道需要哪行哪列的数据可能还好,如果不知道那是索引不出来的。比如有一个工资表,三行五列,你只能知道第几行第几列的数据是什么,而如果你想知道王老五的某个月工资,对不起,查不出来。

如果是字典套字典呢?可能好一点,用这种方式可以索引:

工资表['王老五']['1月']

但是如果想查询所有人1月份的工资呢?又不太好找,可能需要for循环之类的操作,很麻烦。

当然这些弊端仅仅是很小的例子,在实际应用中会有更多各式各样的需求,目前的数据类型都难以满足。

正因如此,pandas应运而生。

SeriesDataFrame

好的,鸡血打完了,该上点干货了。今天我们就以一个员工个税计算的例子来展示一下pandas的强大功能。

首先我们新建一个代码,用import语句导入pandas模块。因为pandas这个词太长了,我们通常把它改为pd:

接下来我们就可以导入表格了,但在那之前我们先得准备一下表格。

由于pandas读取.xls和.xlsx文件需要用到额外的模块,这一次出于展示的目的我们使用.csv格式的表格来操作。.csv格式的表格也是可以在excel中打开的。

既然是计算员工个税,首先要有一个员工工资表,里边记录着员工的工号,姓名,年收入:

我们把表格放在代码文件夹下。

read_csv方法

这里我们只用了一个关键字参数,就是index_col,这个参数就是让我们指定索引列。索引列的作用就是让我们一输入指定的索引值就能准确地索引到那一行的内容。而正因如此,索引值必须是各异的,所以我们选择“工号”作为索引列,防止重名的情况出现。我们打印一下DataFrame看看:

可以看到,在Python中这些数据也以表格的形式出现了。

loc方法

看,一行的数据就出来了!

而如果我们想要获取一列的数据呢?这和我们使用字典的方式有些像了:

这是不是看起来非常像字典嵌套字典?

按照这种理解我们可以用这种方法获取数据:

不过这样做的缺点就是先列后行,比较反直觉。

从这里我们也可以看出,对于字典嵌套字典形式的表格,想取出指定一行的数据并不容易。首先需要建立一个空字典,使用keys方法获取原字典所有的键名,并使用for循环,以原字典的键名为键名,以原字典键名对应的值字典里键名为索引值的值为值,建立键值对并添加到新建的字典中,最后返回这个字典。有兴趣的同学可以亲手试试编写一个这样的操作。

但在DataFrame中,你只需要使用loc方法,便可以使用索引值轻松地调取一行数据,比字典嵌套列表不知高到哪里去了。所以大家在处理表格类数据的时候要首先想到使用DataFrame,让它成为你的肌肉记忆。

目前光靠这些信息是无法计算个人所得税的,我们还需要员工专项扣除的信息。但这个信息通常是单独列表统计的,而且有些员工不符合相应条件,不会主动申报,所以通常这个表格里的员工数是小于公司员工数的。那我们应该怎么把这两个行数都不一样的表合并成同一个表,同时各人的数据还能对应得上呢?

我们首先还是要将表格读取为DataFrame,然后再去操作两个DataFrame。到这里我们需要一些基础的数据库知识。

不同表中的数据可以通过某一个有相同点的列连接起来,比如员工工资表和员工专项扣除表。这两个表都有一列是记录工号的,那这一列就可以连接起两个表的数据。好比工资表里有1号员工,他的工资是6w,专项扣除表里也有1号员工,他的专项扣除是5k,那连接后的表格里1号员工就同时具有6w工资和5k专项扣除的数据。

内连接外连接

所谓内连接,就是作为连接列里的数据,只有两个表里都有的才加以保留。如果1号员工没有专项扣除信息,那他和他的工资信息也不会出现在新的表中。

全连接左连接右连接

merge方法

可以看到,两个表已经合体进化成为了一个船新的表格。虽然这个表格仍然需要进行修饰,但我们已经离实现目标不远了!

赞和在看

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接