前言:excel能干的,python也可以。本文 python实现了几种常用的excel操作,并且这些一旦完成,都是自动化可复用的。并且还有一些强大功能是excel无法比拟的。
概述
excel占领办公领域已经大半个世纪,进入人工智能新时代后,其霸主地位受到python等语言和工具的挑战。编程不再是专业人士的专利,而是“飞入寻常百姓家”的日用工具了,在前面那篇表哥表姐!是时候扔掉Excel了文章里,已经阐明了这个观点。
接下来,我们会用更实际的例子来证明Python已经是Excel无可比拟的对手,是Excel的掘墓人。在这些例子里会展示一些常见的Excel任务以及如何在python的pandas中执行类似的任务。虽然例子有些微不足道,但足够能体现用python来化繁为简的创造性的解决问题的能力呢。
向行添加总和
介绍的第一项任务是汇总列数据,并添加总列。
首先将excel数据导入到pandas数据帧中。
import pandas as pdimport numpy as npdf = pd.read_excel("excel-comp-data.xlsx")df.head()
结果如下:
接下来,进行求和:
df [ “total” ] = df [ “Jan” ] + df [ “Feb” ] + df [ “Mar” ] df .head()
接下来,按每个月汇总。以下是执行的操作,如Excel中所示:
如上图所示,在excel中用 SUM(G2:G16) 在每列中添加了第17行,以按月获得总计。
这种列操作在python中简直是小意思。
df [ “Jan” ] 。sum (), df [ “Jan” ] 。mean (),df [ “Jan” ] 。min (),df [ “Jan” ] 。max ()(1462000,97466.666666666672,10000,162000)
自动纠错转换
再举一个例子,将状态缩写添加到数据集中。
从Excel的角度来看,最简单的方法可能是添加一个新列,对州名进行vlookup并填写缩写。
这里是excel操作结果:
您会注意到执行vlookup后,有些值无法正确显示。那是因为拼错了一些州。在在大数据集情况下,Excel中处理这将是非常具有挑战性的。
幸运的是,python可以搞定,而且非常容易。wuzzy库非常棒,可以自动纠错。
首先安装wuzzy 库。
pip install wuzzy
首先导入适当的fuzzywuzzy函数并定义我们的状态映射字典。
from fuzzywuzzy import fuzzfrom fuzzywuzzy import processstate_to_code = {"VERMONT": "VT