现代办公室里几乎任何一项工作都会用到Excel,每打开一个job deion,我们都会看到一句“要求掌握Excel”。对于程序员来说最好用的数据分析一定是Python中最常用的数据分析包Pandas了。
初识Pandas
Pandas是一个Python的核心数据分析支持库,它提供了强大的一维数组和二维数组处理能力,其非常擅长与处理二维表结构,带行列标签的矩阵数据,时间序列数据。
Pandas提供的两个主要数据结构一维数组(Series)和二维数组(DataFrame)强力的支撑着当今金融、统计、社会科学、工程等诸多领域的数据分析工作。
通过Pandas我们可以方便的操作数据的增、查、改、删、合并、重塑、分组、统计分析,此外Pandas还提供了非常成熟的I/O工具,用于读取文本文件,excel文件,数据库等不同来源数据,利用超快的HDF5格式保存/加载数据。
还有非常重要的一点,pandas是完全免费的开源软件,而且还不受操作系统的限制——在Windows和MacOS上都能跑的溜溜的。
Pandas到底强在哪里?
1、Pandas很快,Pandas是基于numpy开发的,此外Pandas的很多底层算法都经过Cython优化。
2、强大的包容性,利用Pandas可以将Python或Numpy里不规则的数据结构,轻松转换为DataFrame。
3、灵活、直观的数据处理能力,通过分组、合并、重塑等操作,灵活、直观、便捷的进行数据预处理。
4、专业的统计分析能力,Pandas提供了很多便捷的诸如相关性分析、时序分析、描述性统计等数据分析API。
现在的就业形势是:无论你是不是应聘数据相关的岗位,掌握pandas无疑都可以增加你的职场竞争力。
心动吗?想学吗?小编这就为大家奉上一节免费Python系列直播课程《轻松使用Pandas玩转Excel》。在本节公开课中我们将学到Excell的替换、对比、合并,以及QT封装脚本。
想象一下,用Excel加载一个大型数据表格就需要2分钟,一个Vlookup或者求和公式的操作又要用去5分钟,当表格发生变化时,可能还要重新进行计算,而一个简单的Python+pandas脚本就可能把你一个小时的工作量缩短到20秒之内完成。
举例对比
例子一:使用行索引,查看每一个Name的Quality,price汇总数据
1、pandas实现
pd.pivot_table(df, index=['Name'])
运行效果如下:
当我们只指定index时,就是指定了行标签,pivot_table函数会默认按照平均值,汇总所有的数值字段。由于Account字段被pandas“理解”成了数值类型的(可以通过df.dtypes查看),所以结果中出现了Account列。上面的结果表示每个Name的Account,Price,Quantity的平均值。
2、Excel实现选中数据区域,插入,数据透视表,将Name字段拉倒“行”区域,Account,Price,Quantity拉入“值”区域,并将三者的字段汇总方式设置为平均值。
整个步骤的流程及运行结果如下图所示:
可以看到Excel默认会有一个汇总行。以Quantity为例,它的“总计”值是所有的Quantity求和之后,除以Name的个数。
如果想用Pandas实现这种效果,可以加入margins=True参数,效果如下,出现了All行,由于Account和Price是整数,所以all行也是整数,Quantity是小数,相应的All行也是小数。Excel的总计行也可以在“设计”选项卡,“总计”,“对行和列禁用去掉”。
例子二:使用多个行索引,查看每个Manager的每个Rep对应的Account,Price,Quantity汇总值
1、pandas实现
pd.pivot_table(df, index=['Manager', 'Rep'], margins=True)
运行效果如下:
2.Excel实现在前面基础上,将Manager,Rep拉到“行”的位置即可。效果如下图,可以看到,在关键的数值上,两个结果是一致的,只是在形式上有所不同。
为了在形式上更接近pandas的结果,可以设置透视表的布局。选择“设计”选项卡,报表布局,选择“大纲形式显示”即可,效果如上图所示。
仔细观察,发现excel里对每一个Manager都做了汇总。这个可以通过“设计”选项卡,“分类汇总”,“不显示分类汇总”去掉。
**长按识别
**
获取直播链接/课件/回放
福利:豆花同学为大家精心整理了一份关于linux和python的学习资料大合集!有需要的小伙伴们,关注豆花个人公众号:python头条!回复关键词“资料合集”即可免费领取!