RPA教学:⽤Python实现Excel中常⽤的20个操作⽅法总结分享
了解RPA:
前⾔
Excel 与 Python 都是数据分析中常⽤的⼯具,本⽂将使⽤动态图 (Excel)+ 代码(Python) 的⽅式来演⽰这两种⼯具是如何实现数据的读取、⽣成、计算、修改、统计、抽样、查、可视化、存储等数据处理中的常⽤操作!
数据读取
说明:读取本地 Excel 数据
Excel
Excel 读取本地数据需要打开⽬标⽂件夹选中该⽂件并打开
Pandas
Pandas ⽀持读取本地 Excel、txt ⽂件,也⽀持从⽹页直接读取表格数据,只⽤⼀⾏代码即可,例如读
取上述本地 Excel 数据可以使⽤pd.read_excel(“⽰例数据.xlsx”)
数据⽣成
说明:⽣成指定格式 / 数量的数据
Excel
以⽣成 10*2 的 0—1 均匀分布随机数矩阵为例,在 Excel 中需要使⽤ rand() 函数⽣成随机数,并⼿动拉取指定范围
Pandas
在 Pandas 中可以结合 NumPy ⽣成由指定随机数 (均匀分布、正态分布等) ⽣成的矩阵,例如同样⽣成 10*2 的 0—1 均匀分布随机数矩阵为,使⽤⼀⾏代码即可:pd.DataFrame(np.random.rand(10,2))
数据存储
说明:将表格中的数据存储⾄本地
Excel
在 Excel 中需要点击保存并设置格式 / ⽂件名
Pandas
在 Pandas 中可以使⽤ pd.to_excel(“filename.xlsx”) 来将当前⼯作表格保存⾄当前⽬录下,当然也可以使⽤ to_csv 保存为 csv 等其他格式,也可以使⽤绝对路径来指定保存位置
数据筛选
说明:按照指定要求筛选数据
Excel
使⽤我们之前的⽰例数据,在 Excel 中筛选出薪资⼤于 5000 的数据步骤如下
Pandas
在 Pandas 中,可直接对数据框进⾏条件筛选,例如同样进⾏单个条件 (薪资⼤于 5000) 的筛选可以使⽤ df[df[‘薪资⽔平’]>5000],如果使⽤多个条件的筛选只需要使⽤ &(并)与 |(或)操作符实现
数据插⼊
说明:在指定位置插⼊指定数据
Excel
在 Excel 中我们可以将光标放在指定位置并右键增加⼀⾏ / 列,当然也可以在添加时对数据进⾏⼀些计算,⽐如我们就可以使⽤ IF 函数(=IF(G2>10000,“⾼”,“低”)),将薪资⼤于 10000 的设为⾼,低于 10000 的设为低,添加⼀列在最后
Pandas
在 pandas 中,如果不借助⾃定义函数的话,我们可以使⽤ cut ⽅法来实现同样操作
bins = [0,10000,max(df[‘薪资⽔平’])]
group_names = [‘低’,‘⾼’]
df[‘new_col’] = pd.cut(df[‘薪资⽔平’], bins, labels=group_names)
说明:删除指定⾏ / 列 / 单元格
Excel
在 Excel 删除数据⼗分简单,到需要删除的数据右键删除即可,⽐如删除刚刚⽣成的最后⼀列
Pandas
在 pandas 中删除数据也很简单,⽐如删除最后⼀列使⽤ del df[‘new_col’] 即可
数据排序
说明:按照指定要求对数据排序
Excel
在 Excel 中可以点击排序按钮进⾏排序,例如将⽰例数据按照薪资从⾼到低进⾏排序可以按照下⾯的步骤进⾏
Pandas
在 pandas 中可以使⽤ sort_values 进⾏排序,使⽤ ascending 来控制升降序,例如将⽰例数据按照薪资从⾼到低进⾏排序可以使⽤df.sort_values(“薪资⽔平”,ascending=False,inplace=True)
缺失值处理
说明:对缺失值 (空值) 按照指定要求处理
Excel
在 Excel 中可以按照查—> 定位条件—> 空值来快速定位数据中的空值,接着可以⾃⼰定义缺失值的填充⽅式,⽐如将缺失值⽤上⼀个数据进⾏填充
Pandas
在 pandas 中可以使⽤ data.isnull().sum() 来检查缺失值,之后可以使⽤多种⽅法来填充或者删除缺失值,⽐如我们可以使⽤ df =
df.fillna(axis=0,method=‘ffill’) 来横向 / 纵向⽤缺失值前⾯的值替换缺失值
数据去重
说明:对重复值按照指定要求处理
Excel
在 Excel 中可以通过点击数据—> 删除重复值按钮并选择需要去重的列即可,例如对⽰例数据按照创
建时间列进⾏去重,可以发现去掉了196 个重复值,保留了 629 个唯⼀值。
Pandas
在 pandas 中可以使⽤ drop_duplicates 来对数据进⾏去重,并且可以指定列以及保留顺序,例如对⽰例数据按照创建时间列进⾏去重df.drop_duplicates([‘创建时间’],inplace=True),可以发现和 Excel 处理的结果⼀致,保留了 629 个唯⼀值。
格式修改
说明:修改指定数据的格式
Excel
在 Excel 中可以选中需要转换格式的数据之后右键—> 修改单元格格式来选择我们需要的格式
Pandas
在 Pandas 中没有⼀个固定修改格式的⽅法,不同的数据格式有着不同的修改⽅法,⽐如类似 Excel 中将创建时间修改为年 - ⽉ - ⽇可以使⽤ df[‘创建时间’] = df[‘创建时间’].dt.strftime(‘%Y-%m-%d’)
数据交换
说明:交换指定数据
Excel
在 Excel 中交换数据是很常⽤的操作,以交换⽰例数据中地址与岗位两列为例,可以选中地址列,按住 shift 键并拖动边缘⾄下⼀列松开即可
Pandas
在 pandas 中交换两列也有很多⽅法,以交换⽰例数据中地址与岗位两列为例,可以通过修改列号来实现
说明:将两列或多列数据合并成⼀列
Excel
在 Excel 中可以使⽤公式也可以使⽤ Ctrl+E 快捷键完成多列合并,以公式为例,合并⽰例数据中的地址 + 岗位列步骤如下
Pandas
在 Pandas 中合并多列⽐较简单,类似于之前的数据插⼊操作,例如合并⽰例数据中的地址 + 岗位列使⽤ df[‘合并列’] = df[‘地址’] + df[‘岗位’]
数据拆分
说明:将⼀列按照规则拆分为多列
Excel
在 Excel 中可以通过点击数据—>分列并按照提⽰的选项设置相关参数完成分列,但是由于该列含有 [] 等特殊字符,所以需要先使⽤查替换去掉
Pandas
在 Pandas 中可以使⽤.split 来完成分列,但是在分列完毕后需要使⽤ merge 来将分列完的数据添加⾄原 DataFrame,对于分列完的数据含有 [] 字符,我们可以使⽤正则或者字符串 lstrip ⽅法进⾏处理,但因不是 pandas 特性,此处不再展开。
数据分组
说明:对数据进⾏分组计算
Excel
在 Excel 中对数据进⾏分组计算需要先对需要分组的字段进⾏排序,之后可以通过点击分类汇总并设置相关参数完成,⽐如对⽰例数据的学历进⾏分组并求不同学历的平均薪资
Pandas
在 Pandas 中对数据进⾏分组计算可以使⽤ groupby 轻松搞定,⽐如使⽤ df.groupby(“学历”).mean() ⼀⾏代码即可对⽰例数据的学历进⾏分组并求不同学历的平均薪资,结果与 Excel ⼀致
数据计算
说明:对数据进⾏⼀些计算
Excel
在 Excel 中有很多计算相关的公式,⽐如可以使⽤ COUNTIFS 来统计薪资⼤于 10000 的岗位数量有 518 个
Pandas
在 Pandas 中可以直接使⽤类似数据筛选的⽅法来统计薪资⼤于 10000 的岗位数量 len(df[df[“薪资⽔平”]>10000])
数据统计
说明:对数据进⾏⼀些统计计算
Excel
在 Excel 中有很多统计相关的公式,也有现成的分析⼯具,⽐如对薪资⽔平列进⾏描述性统计分析,可以通过添加⼯具库之后点击数据分析按钮并设置相关参数
Pandas
在 pandas 中也有现成的函数 describe 快速完成对数据的描述性统计,⽐如使⽤ df[“薪资⽔平”].describe() 即可得到薪资列的描述性统计结果
数据可视化
excel的随机数函数
说明:对数据进⾏可视化
Excel
在 Excel 中可以通过点击插⼊并选择图表来快速完成对数据的可视化,⽐如制作薪资的直⽅图,并且有很多样式可以直接使⽤
Pandas
在 Pandas 中也⽀持直接对数据绘制不同可视化图表,例如直⽅图,可以使⽤ plot 或者直接使⽤ hist 来制作 df[“薪资⽔平”].hist()
说明:对数据按要求采样
Excel
在 Excel 中抽样可以使⽤公式也可以使⽤分析⼯具库中的抽样,但是仅⽀持对数值型的列抽样,⽐如随机抽 20 个⽰例数据中薪资的样本
Pandas
在 pandas 中有抽样函数 sample 可以直接抽样,并且⽀持任意格式的数据抽样,可以按照数量 / ⽐例抽样,⽐如随机抽 20 个⽰例数据中的样本
数据透视表
说明:制作数据透视表
Excel
数据透视表是⼀个⾮常强⼤的⼯具,在 Excel 中有现成的⼯具,只需要选中数据—> 点击插⼊—> 数据透视表即可⽣成,并且⽀持字段的拖取实现不同的透视表,⾮常⽅便,⽐如制作地址、学历、薪资的透视表
Pandas
在 Pandas 中制作数据透视表可以使⽤ pivot_table 函数,例如制作地址、学历、薪资的透视表 pd.pivot_table(df,index=[“地址”,“学历”],values=[“薪资⽔平”]),虽然结果⼀样,但是并没有 Excel ⼀样⽅便调整与多样
vlookup
说明:利⽤ VLOOKUP 查数据
Excel
VLOOKUP 算是 EXCEL 中最核⼼的功能之⼀了,我们⽤⼀个简单的数据来进⾏⽰例
Pandas
在 Pandas 中没有现成的 vlookup 函数,所以实现匹配查需要⼀些步骤,⾸先我们读取该表格
接着将该 dataframe 切分为两个
最后修改索引并使⽤ update 进⾏两表的匹配
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论