Python数据分析学习笔记001

我,很懒的一个人。

以前工作时,很少做总结,所以进步慢。

几年前,还在上班,公司学习美军,想沉淀各位“专家”的经验,我曾牵头搞过一个大部门的知识社区,拉赞助搞活动,用户发展到了4位数以上,日点击量在5位数上。

可自己很少写东西,弄个链接转发多方便啊。

人总是这样,搭个台子,却指望别人来唱戏。

不写东西的原因有两个,一个是懒,另一个是被高考语文不及格阴影一直笼罩着(嘻嘻,踢一下高考这只猫),觉得会写东西是件好高大上的事情,哪是我这种人干的事。

其实,不应该限定自己,任何时候。

一辈子就那么几十年,想到什么,就去试试吧,又不会死人,管别人怎么看呢。

自学python编程有一段时间了,越来越喜欢它。

因为它比较符合我懒的天性,有好多别人已经开发好的模块可以直接拿来用,从最简单的科学计算、数据统计到高大上的机器学习、自然语言处理,都有现成的,基本能满足你的日常需求,你不用再去“重复造轮子”,拿来用就是了,多么美好的事情。

先自问自答一个问题:

编程只是计算机软件工程师能做的事么?

肯定的回答是:不是。

不信,你可以去百度一下,日本有个退休的老太太,自学编程,还开发出了好几款手机游戏呢。

任何人,只要你感兴趣,拿起一本编程书籍,打开电脑,至少编个小程序,可以把"Hello world!",在屏幕上打印出来。

在python里,就是一句话的事情:print("Hello world")。

就是这么简单。

事情,不开始做的话,永远很难。

我的大多数朋友们,不像我已经下岗了,他们都还是有工作的,所以呢,后面,我会结合一些日常办公常要做的琐碎事,把我的学习心得进行整理出来,供大家参考,希望能对他们有所帮助。

像如何安装python等等这类问题,我就不讲,随便找一本最便宜的入门手册,照着做就行了。如果你自己安装过office软件,或在电脑上玩过游戏,应该不是问题。

好,闲话少说,再说就显出啰嗦的本性了。

今天要讲的是:

如何用python读、写excel表格的数据

1、需要用到的模块(别人写好的软件)

如果只写一张sheet页,那么我们只需用到一个模块,它叫pandas。

如果要写多个sheet页,那么还要用到另一个模块,openpyxl。

我们一步步来,今天只用到pandas

2、准备工作:

先弄一个有数据的Excel文件,我们假设它的名字叫的"test.xlsx",里面有一个sheet页,叫"sheet1"

3、扩展python的能力:

前面我们说过了,python生态环境中,有非常多的人在为它开发各种各样的“软件”, 以扩展python的能力,在使用它们之前,我们要引入它,并且最好给引入的能力取个名字,以方便你在后面使用它。

下面这句话就是python中引入软件模块的常用格式,当然它还有许多变种,我们先讲最简单的一种:

import pandas aspd

“pandas"是python生态中十分重要的一个软件模块,只要是从事数据分析工作,没法离开它。“pd”就是你给引入pandas后,你后面编程“调用”它的能力时所取的名字,以后你一喊它,它就会乖乖地听你的话。

4、读取excel表格中的数据:

下面我们用一句话读取"test.xlsx"文件中"sheet1"页中的数据表,并且把它有序地存放在计算机内存中某个地方,你可以理解这个地方是按pandas软件规划好的一个格子间(pandas开发人员把它叫做Dataframe),它把读取进来的数据按格子一个个地给塞进去,方便你取用。

df = pd.read_excel("d:\\data\\test1.xlsx")

为了方便讲解,我随便做了一个最简单的费用报销登记表格,如下:

在电脑上运行上述命令后,"df"这个计算机的“格子间”里,就存放了这张表里的所有数据,像下面这个样子(注:你不需要打开这个excel文件就可以读取里面的数据)

你可以随时查看读取进来的数据,敲一个"df",把它召唤出来就行。

如果要查看报销金额的最大值,这样做:

df["报销金额"].max()

如果想知道是谁报销了这么大的金额呢?这样做:

df["姓名"][df["报销金额"]==df["报销金额"].max]

如果要汇总所有的报销费用,这样做:

df["报销金额"].sum()

有没有发现一个问题呢?,汇总出来的数似乎和excel表格中的数据实际加总值不太一样,小数点后多了很多位,这是因为计算机把读进来的带小数位的数全转换成了“浮点”类型,而浮点数在运算时,由于计算机本身的进制转换的原因,导致了极微小的偏差,但这不影响整体的数据应用。

另外,默认情况下,pandas在读取数据后,会自动给加一列序号,这是它的"索引",就相当于格子间的编号,你可以很方便地用它来存取数据,当然,你也可以不用它这个自动的索引,方法我们后面再讲。

下面,我们给这个表格加一列数据,比如“接单人”,先简单一点,假设全部都是“吴MM”签收的报销单,这样做:

df["接单人"] = "吴MM"

然后我们再把它们全部召唤出来,集合排个队瞧瞧:

5、把处理好的数据写入excel表格:

辛苦一天,该下班关电脑了,python不像excel,有自动保存数据的功能,我们还是把劳动成果先保存了再说,否则关了机,可就啥也没有了。

这样做:

先提醒一下:大家如果要在自己的数据表格上操作,请一定记得要先备份好原始数据,因为pandas自带的写excel文件方法,是会把原文件覆盖掉的,如果你的原始表格数据很重要,执行下面这条命令,那些其他的表格和数据可都找不回来了,到时候可不要来打我。

df.to_excel("d:\\data\\test.xlsx")

再打开test.xlsx这个文件,就成这样了:

看了我今天的学习笔记,大家有没有一点点收获呢,是不是对python也感一点兴趣了,有兴趣的话,就打开电脑试试吧。

如果有啥问题,可在公众号后台给我留言,在我能力圈内的,尽快给大家回复。

下篇预告:

我这个笔记没啥长远规划,想到哪里,学到哪里,就写到哪里吧。

下篇准备写一下:

如何用python处理多个不同excel文件中的数据。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181030G1LN9300?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券