excel去掉一行文字中的逗号合并在一起_给Excel重度用户准备的Pandas教程:用Pandas逐帧还原20个Excel常用操作...

之前品鉴过各个大佬写的Pandas教程,包括我司自己也有类似的明星教程(50道练习带你玩转Pandas)。但最近和一些想转行想要学习Pandas的宝宝们交流了,就觉得这些教程写得好是好,就是没内味儿。Excel毕竟是图形化界面,交互也经过了那么多年风风雨雨的迭代,着实好用,一下换成编程语言来表达自己的想法,还令人挺难转过弯的。
所以,我们此次特地向和鲸社区的优质创作者们邀稿,用图文并茂的形式给大家逐帧呈现Excel的日常操作如何用Pandas完成
点击下方链接,查看完整项目,及直接在线运行

用Python展示Excel中20个常用操作​www.kesci.com

项目作者:
@刘早起


数据读取
说明:读取本地Excel数据

  • Excel

fc805f89fb1966c080cfc6a54195eef5.png
  • Pandas

Pandas支持读取本地Excel、txt文件,也支持从网页直接读取表格数据,只用一行代码即可,例如读取上述本地Excel数据可以使用pd.read_excel("示例数据.xlsx")

984c1b020dbeff6722220382d37631a7.png

数据生成
说明:生成指定格式/数量的数据

  • Excel

以生成10*2的0—1均匀分布随机数矩阵为例,在Excel中需要使用rand()函数生成随机数,并手动拉取指定范围

20817c4625043835bf9b8ff8d5464063.png
  • Pandas

在Pandas中可以结合NumPy生成由指定随机数(均匀分布、正态分布等)生成的矩阵,例如同样生成10*2的0—1均匀分布随机数矩阵为,使用一行代码即可:pd.DataFrame(np.random.rand(10,2))

c7fce4c9268afe2e4f659ab0a43e385b.png

数据存储
说明:将表格中的数据存储至本地

  • Excel

在Excel中需要点击保存并设置格式/文件名

7f090eb5c5b52d1f4229b136cfb15516.png
  • Pandas

在Pandas中可以使用pd.to_excel("filename.xlsx")来将当前工作表格保存至当前目录下,当然也可以使用to_csv保存为csv等其他格式,也可以使用绝对路径来指定保存位置

4c9d4c5d12f601c4a25291ae109ffa89.png

数据筛选
说明:按照指定要求筛选数据

  • Excel

使用我们之前的示例数据,在Excel中筛选出薪资大于5000的数据步骤如下

57f76918a149d49f25422bad313ee7a9.png
  • Pandas

在Pandas中,可直接对数据框进行条件筛选,例如同样进行单个条件(薪资大于5000)的筛选可以使用df[df['薪资水平']>5000],如果使用多个条件的筛选只需要使用&(并)与|(或)操作符实现

21e9f840ea57a44311c857863868b931.png

数据插入
说明:在指定位置插入指定数据

  • Excel

在Excel中我们可以将光标放在指定位置并右键增加一行/列,当然也可以在添加时对数据进行一些计算,比如我们就可以使用IF函数(=IF(G2>10000,"高","低")),将薪资大于10000的设为高,低于10000的设为低,添加一列在最后

c97b3310a55303380340971ec44b1b82.png
  • Pandas

在pandas中,如果不借助自定义函数的话,我们可以使用cut方法来实现同样操作

4379b7df0e44616ca8481ab2fd94252e.png

数据删除
说明:删除指定行/列/单元格

  • Excel

在Excel删除数据十分简单,找到需要删除的数据右键删除即可,比如删除刚刚生成的最后一列

11eb1e986ab1d728a9f086db2b205322.png
  • Pandas

在pandas中删除数据也很简单,比如删除最后一列使用del df['new_col']即可

e472bf3944df9dfe91d55319bcf6731e.png

数据排序
说明:按照指定要求对数据排序

  • Excel

在Excel中可以点击排序按钮进行排序,例如将示例数据按照薪资从高到低进行排序可以按照下面的步骤进行

b239931bf6a9ef3ce699f6b83e0af1f8.png
  • Pandas

在pandas中可以使用sort_values进行排序,使用ascending来控制升降序,例如将示例数据按照薪资从高到低进行排序可以使用df.sort_values("薪资水平",ascending=False,inplace=True)

181c56a3d824e5908b09fa40051d6639.png

缺失值处理
说明:对缺失值(空值)按照指定要求处理

  • Excel

在Excel中可以按照查找—>定位条件—>空值来快速定位数据中的空值,接着可以自己定义缺失值的填充方式,比如将缺失值用上一个数据进行填充

c4657e6274f009357ba3414fbbf799ce.png
  • Pandas

在pandas中可以使用data.isnull().sum()来检查缺失值,之后可以使用多种方法来填充或者删除缺失值,比如我们可以使用df = df.fillna(axis=0,method='ffill')来横向/纵向用缺失值前面的值替换缺失值

040f38b77be92e2d088690f119ac83c3.png

数据去重
说明:对重复值按照指定要求处理

  • Excel

在Excel中可以通过点击数据—>删除重复值按钮并选择需要去重的列即可,例如对示例数据按照创建时间列进行去重,可以发现去掉了196 个重复值,保留了 629 个唯一值。

64c21766e2403ccdfe18f9f14dbafba7.png
  • Pandas

在pandas中可以使用drop_duplicates来对数据进行去重,并且可以指定列以及保留顺序,例如对示例数据按照创建时间列进行去重df.drop_duplicates(['创建时间'],inplace=True),可以发现和Excel处理的结果一致,保留了 629 个唯一值。

ee3a34c4c39ae13dedd43d6a17141fa8.png

格式修改
说明:修改指定数据的格式

  • Excel

在Excel中可以选中需要转换格式的数据之后右键—>修改单元格格式来选择我们需要的格式

61d15ff9c0362cfbb1cb7c6a8209662d.png
  • Pandas

在Pandas中没有一个固定修改格式的方法,不同的数据格式有着不同的修改方法,比如类似Excel中将创建时间修改为年-月-日可以使用df['创建时间'] = df['创建时间'].dt.strftime('%Y-%m-%d')

95f456931c38e1418db3ebda635f22f3.png

数据交换
说明:交换指定数据

  • Excel

在Excel中交换数据是很常用的操作,以交换示例数据中地址与岗位两列为例,可以选中地址列,按住shift键并拖动边缘至下一列松开即可

696261e72d4016f2bc5d59a37579abf2.png
  • Pandas

在pandas中交换两列也有很多方法,以交换示例数据中地址与岗位两列为例,可以通过修改列号来实现

fbcf45a13b7e564599615613fd72811c.png

数据合并
说明:将两列或多列数据合并成一列

  • Excel

在Excel中可以使用公式也可以使用Ctrl+E快捷键完成多列合并,以公式为例,合并示例数据中的地址+岗位列步骤如下

26cece381ae4dd5b3fc092e0c591f8f2.png
  • Pandas

在Pandas中合并多列比较简单,类似于之前的数据插入操作,例如合并示例数据中的地址+岗位列使用df['合并列'] = df['地址'] + df['岗位']

0ec711bf2b6eadd1008370f266b99f22.png

数据拆分
说明:将一列按照规则拆分为多列

  • Excel

在Excel中可以通过点击数据—>分列并按照提示的选项设置相关参数完成分列,但是由于该列含有[]等特殊字符,所以需要先使用查找替换去掉

402a9489db66c96f5d54c7f82249f0e8.png
  • Pandas

在Pandas中可以使用.split来完成分列,但是在分列完毕后需要使用merge来将分列完的数据添加至原DataFrame,对于分列完的数据含有[]字符,我们可以使用正则或者字符串lstrip方法进行处理,但因不是pandas特性,此处不再展开。

770e0856c07899d54b1bd07a8bc2196c.png

数据分组
说明:对数据进行分组计算

  • Excel

在Excel中对数据进行分组计算需要先对需要分组的字段进行排序,之后可以通过点击分类汇总并设置相关参数完成,比如对示例数据的学历进行分组并求不同学历的平均薪资

4a97da8b4be69dbd163420df1ca4a8d1.png
  • Pandas

在Pandas中对数据进行分组计算可以使用groupby轻松搞定,比如使用df.groupby("学历").mean()一行代码即可对示例数据的学历进行分组并求不同学历的平均薪资,结果与Excel一致

44c3deb8d299948f1bf009e59b7d833e.png

数据计算
说明:对数据进行一些计算

  • Excel

在Excel中有很多计算相关的公式,比如可以使用COUNTIFS来统计薪资大于10000的岗位数量有518个

a7a28c2000d6e1d1dc25f17b951091ae.png
  • Pandas

在Pandas中可以直接使用类似数据筛选的方法来统计薪资大于10000的岗位数量len(df[df["薪资水平"]>10000])

a184e2325e72cf702e515b64ae7da91f.png

数据统计
说明:对数据进行一些统计计算

  • Excel

在Excel中有很多统计相关的公式,也有现成的分析工具,比如对薪资水平列进行描述性统计分析,可以通过添加工具库之后点击数据分析按钮并设置相关参数

a7a28c2000d6e1d1dc25f17b951091ae.png
  • Pandas

在pandas中也有现成的函数describe快速完成对数据的描述性统计,比如使用df["薪资水平"].describe()即可得到薪资列的描述性统计结果

637ab42409edfb4352c4dcc00738e4d2.png

数据可视化
说明:对数据进行可视化

  • Excel

在Excel中可以通过点击插入并选择图表来快速完成对数据的可视化,比如制作薪资的直方图,并且有很多样式可以直接使用

828455fb0d650c8e233b866a9826f16c.png
  • Pandas

在Pandas中也支持直接对数据绘制不同可视化图表,例如直方图,可以使用plot或者直接使用hist来制作df["薪资水平"].hist()

9d04386f2aa6c5e4d8fa9d9325b03fb2.png

数据抽样
说明:对数据按要求采样

  • Excel

在Excel中抽样可以使用公式也可以使用分析工具库中的抽样,但是仅支持对数值型的列抽样,比如随机抽20个示例数据中薪资的样本

ca01c2d44dea728d2799336634be52d4.png
  • Pandas

在pandas中有抽样函数sample可以直接抽样,并且支持任意格式的数据抽样,可以按照数量/比例抽样,比如随机抽20个示例数据中的样本

5ad2858d7a22f998887a6a0943c47673.png

数据透视表
说明:制作数据透视表

  • Excel

数据透视表是一个非常强大的工具,在Excel中有现成的工具,只需要选中数据—>点击插入—>数据透视表即可生成,并且支持字段的拖取实现不同的透视表,非常方便,比如制作地址、学历、薪资的透视表

aff1f1ff919f6c0855811c25c35e9f71.png
  • Pandas

在Pandas中制作数据透视表可以使用pivot_table函数,例如制作地址、学历、薪资的透视表pd.pivot_table(df,index=["地址","学历"],values=["薪资水平"]),虽然结果一样,但是并没有Excel一样方便调整与多样

71fda2a7167602c6b4caef2da231934c.png

vlookup
说明:利用VLOOKUP查找数据

  • Excel

VLOOKUP算是EXCEL中最核心的功能之一了,我们用一个简单的数据来进行示例

2bc67c69084bc3cee65763dab7dc970b.gif
  • Pandas

在Pandas中没有现成的vlookup函数,所以实现匹配查找需要一些步骤,首先我们读取该表格

2aaccaf60c62de4d221074c7c372955f.png

接着将该dataframe切分为两个

c639f50b4919efa1ffc835819de9e6d6.png

最后修改索引并使用update进行两表的匹配

06afa0681e59d162ca717eb84f6d0f46.png

结束语
以上就是使用Pandas来演示如何实现Excel中的常用操作的全部过程,其实可以发现Excel的优点就是大多由交互式的点击完成数据处理,而Pandas则完全依赖于代码,对于有些操作比如数据透视表,用Excel制作更加方便,而有些操作比如数据的分组、计算等,因Pandas可以与NumPy等其他优秀的Python库结合而显得更加强大,所以我们在处理数据时也需要正确选择使用的工具!


文末复读机
点击下方链接,查看完整项目,及直接在线运行

用Python展示Excel中20个常用操作​www.kesci.com


本文转自:一两赘肉无:给Excel重度用户准备的Pandas教程:用Pandas逐帧还原20个Excel常用操作

如有侵权请联系删除

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值