位置: IT常识 - 正文

14个Python处理Excel的常用操作,非常好用

发布时间:2024-01-17
14个Python处理Excel的常用操作,非常好用

推荐整理分享14个Python处理Excel的常用操作,非常好用,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

自从学了Python后就逼迫用Python来处理Excel,所有操作用Python实现。目的是巩固Python,与增强数据处理能力。 这也是我写这篇文章的初衷。废话不说了,直接进入正题。

数据是网上找到的销售数据,长这样:

一、关联公式:Vlookup

vlookup是excel几乎最常用的公式,一般用于两个表的关联查询等。所以我先把这张表分为两个表。

df1=sale[['订单明细号','单据日期','地区名称', '业务员名称','客户分类', '存货编码', '客户名称', '业务员编码', '存货名称', '订单号', '客户编码', '部门名称', '部门编码']]df2=sale[['订单明细号','存货分类', '税费', '不含税金额', '订单金额', '利润', '单价','数量']]

需求:想知道df1的每一个订单对应的利润是多少。

利润一列存在于df2的表格中,所以想知道df1的每一个订单对应的利润是多少。用excel的话首先确认订单明细号是唯一值,然后在df1新增一列写:=vlookup(a2,df2!a:h,6,0) ,然后往下拉就ok了。(剩下13个我就不写excel啦)

那用python是如何实现的呢?

#查看订单明细号是否重复,结果是没。df1["订单明细号"].duplicated().value_counts()df2["订单明细号"].duplicated().value_counts()df_c=pd.merge(df1,df2,on="订单明细号",how="left")

兄弟们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。 那么对于这些大兄弟们,我准备了大量的免费视频教程,PDF电子书籍,以及源代码! 还会有大佬解答! 文末名片扫码自取哈

二、数据透视表

需求:想知道每个地区的业务员分别赚取的利润总和与利润平均数。

pd.pivot_table(sale,index="地区名称",columns="业务员名称",values="利润",aggfunc=[np.sum,np.mean])三、对比两列差异

因为这表每列数据维度都不一样,比较起来没啥意义,所以我先做了个订单明细号的差异再进行比较。

需求:比较订单明细号与订单明细号2的差异并显示出来。

sale["订单明细号2"]=sale["订单明细号"]#在订单明细号2里前10个都+1.sale["订单明细号2"][1:10]=sale["订单明细号2"][1:10]+1#差异输出result=sale.loc[sale["订单明细号"].isin(sale["订单明细号2"])==False]四、去除重复值

需求:去除业务员编码的重复值

sale.drop_duplicates("业务员编码",inplace=True)五、缺失值处理

先查看销售数据哪几列有缺失值。

#列的行数小于index的行数的说明有缺失值,这里客户名称329<335,说明有缺失值sale.info()

需求:用0填充缺失值或则删除有客户编码缺失值的行。 实际上缺失值处理的办法是很复杂的,这里只介绍简单的处理方法,若是数值变量,最常用平均数或中位数或众数处理,比较复杂的可以用随机森林模型根据其他维度去预测结果填充。若是分类变量,根据业务逻辑去填充准确性比较高。

比如这里的需求填充客户名称缺失值: 就可以根据存货分类出现频率最大的存货所对应的客户名称去填充。

14个Python处理Excel的常用操作,非常好用

这里我们用简单的处理办法:用0填充缺失值或则删除有客户编码缺失值的行。

#用0填充缺失值sale["客户名称"]=sale["客户名称"].fillna(0)#删除有客户编码缺失值的行sale.dropna(subset=["客户编码"])六、多条件筛选

需求:想知道业务员张爱,在北京区域卖的商品订单金额大于6000的信息。

sale.loc[(sale["地区名称"]=="北京")&(sale["业务员名称"]=="张爱")&(sale["订单金额"]>5000)]七、 模糊筛选数据

需求:筛选存货名称含有"三星"或则含有"索尼"的信息。

sale.loc[sale["存货名称"].str.contains("三星|索尼")]八、分类汇总

需求:北京区域各业务员的利润总额。

sale.groupby(["地区名称","业务员名称"])["利润"].sum()九、条件计算

需求:存货名称含“三星字眼”并且税费高于1000的订单有几个?这些订单的利润总和和平均利润是多少?(或者最小值,最大值,四分位数,标注差)

sale.loc[sale["存货名称"].str.contains("三星")&(sale["税费"]>=1000)][["订单明细号","利润"]].describe()

十、删除数据间的空格

需求:删除存货名称两边的空格。

sale["存货名称"].map(lambda s :s.strip(""))十一、数据分列

需求:将日期与时间分列。

sale=pd.merge(sale,pd.DataFrame(sale["单据日期"].str.split(" ",expand=True)),how="inner",left_index=True,right_index=True)十二、异常值替换

首先用describe()函数简单查看一下数据有无异常值。

#可看到销项税有负数,一般不会有这种情况,视它为异常值。sale.describe()

需求:用0代替异常值。

sale["订单金额"]=sale["订单金额"].replace(min(sale["订单金额"]),0)十三、分组

需求:根据利润数据分布把地区分组为:“较差”,“中等”,“较好”,“非常好”

首先,当然是查看利润的数据分布呀,这里我们采用四分位数去判断。

sale.groupby("地区名称")["利润"].sum().describe()

根据四分位数把地区总利润为[-9,7091]区间的分组为“较差”,(7091,10952]区间的分组为"中等" (10952,17656]分组为较好,(17656,37556]分组为非常好。

#先建立一个Dataframesale_area=pd.DataFrame(sale.groupby("地区名称")["利润"].sum()).reset_index()#设置bins,和分组名称bins=[-10,7091,10952,17656,37556]groups=["较差","中等","较好","非常好"]#使用cut分组#sale_area["分组"]=pd.cut(sale_area["利润"],bins,labels=groups)十四、根据业务逻辑定义标签

需求:销售利润率(即利润/订单金额)大于30%的商品信息并标记它为优质商品,小于5%为一般商品。

sale.loc[(sale["利润"]/sale["订单金额"])>0.3,"label"]="优质商品"sale.loc[(sale["利润"]/sale["订单金额"])<0.05,"label"]="一般商品"

其实excel常用的操作还有很多,我就列举了14个自己比较常用的,若还想实现哪些操作可以评论一起交流讨论,另外我自身也知道我写python不够精简,惯性使用loc。(其实query会比较精简)。若大家对这几个操作有更好的写法请务必评论告知我,感谢!

最后想说说,我觉得最好不要拿excel和python做对比,去研究哪个好用,其实都是工具,excel作为最为广泛的数据处理工具,垄断这么多年必定在数据处理方便也是相当优秀的,有些操作确实python会比较简单,但也有不少excel操作起来比python简单的。

比如一个很简单的操作:对各列求和并在最下一行显示出来,excel就是对一列总一个sum()函数,然后往左一拉就解决,而python则要定义一个函数(因为python要判断格式,若非数值型数据直接报错。)

总结一下就是:无论用哪个工具,能解决问题就是好数据分析师!

本文链接地址:https://www.jiuchutong.com/zhishi/300546.html 转载请保留说明!

上一篇:用PyTorch构建基于卷积神经网络的手写数字识别模型(pytorch jit)

下一篇:浅析什么是伪类和伪元素?伪类和伪元素的区别解析(伪类的常见类型)

  • 怎样运营到一个小型的地方人才站点(怎样运营一个微博账号)

    怎样运营到一个小型的地方人才站点(怎样运营一个微博账号)

  • qq抽奖小程序在哪(qq抽奖小程序可以开挂吗)

    qq抽奖小程序在哪(qq抽奖小程序可以开挂吗)

  • 红米note9和红米note9pro区别是什么(红米note9和红米note11)

    红米note9和红米note9pro区别是什么(红米note9和红米note11)

  • OPPO R11s单手模式怎么开启(oppoa11怎么单手模式)

    OPPO R11s单手模式怎么开启(oppoa11怎么单手模式)

  • 抖音如何不让好友看到我在线(抖音如何不让好友刷到我的好友)

    抖音如何不让好友看到我在线(抖音如何不让好友刷到我的好友)

  • 滴滴小程序如何修改目的地(滴滴小程序如何拉黑师傅)

    滴滴小程序如何修改目的地(滴滴小程序如何拉黑师傅)

  • 候补订单成功率(候补订单成功率多少兑现最后一天)

    候补订单成功率(候补订单成功率多少兑现最后一天)

  • 微信亮度怎么设置(如何设置微信亮度调节)

    微信亮度怎么设置(如何设置微信亮度调节)

  • 微信老是提示有人尝试登录(微信老是提示有信息,但是打开后却没有,怎么回事)

    微信老是提示有人尝试登录(微信老是提示有信息,但是打开后却没有,怎么回事)

  • qq视频可以放视频吗(qq视频放视频没有声音)

    qq视频可以放视频吗(qq视频放视频没有声音)

  • 华为nova6se一分屏在哪里(华为nova6se评测视频)

    华为nova6se一分屏在哪里(华为nova6se评测视频)

  • 转发别人的抖音视频别人能看到吗(转发别人的抖音视频怎么变小了)

    转发别人的抖音视频别人能看到吗(转发别人的抖音视频怎么变小了)

  • 电脑版微信与手机不同步怎么办(电脑版微信与手机版微信视频头像放不大)

    电脑版微信与手机不同步怎么办(电脑版微信与手机版微信视频头像放不大)

  • 电脑开机速度慢(电脑开机速度慢了一秒)

    电脑开机速度慢(电脑开机速度慢了一秒)

  • 华为搭载麒麟990的手机有哪些(华为搭载麒麟9905G的手机)

    华为搭载麒麟990的手机有哪些(华为搭载麒麟9905G的手机)

  • 855处理器的千元机有哪些(855处理器手机1600元)

    855处理器的千元机有哪些(855处理器手机1600元)

  • qq账号申诉是什么意思(qq账号申诉是什么)

    qq账号申诉是什么意思(qq账号申诉是什么)

  • 一加7游戏模式怎么设置(一加7游戏模式怎么开启)

    一加7游戏模式怎么设置(一加7游戏模式怎么开启)

  • 为什么闲鱼发布的东西没有浏览量(为什么闲鱼发布没人看)

    为什么闲鱼发布的东西没有浏览量(为什么闲鱼发布没人看)

  • 苹果11镜头需要贴膜吗(苹果镜头需要钨钢吗)

    苹果11镜头需要贴膜吗(苹果镜头需要钨钢吗)

  • ios13正式版怎么更新(ios 13.6怎样)

    ios13正式版怎么更新(ios 13.6怎样)

  • 什么是搜索候选功能(搜索候选怎么清空)

    什么是搜索候选功能(搜索候选怎么清空)

  • 苹果xr双卡怎么开(苹果XR双卡怎么样质量)

    苹果xr双卡怎么开(苹果XR双卡怎么样质量)

  • 拼多多导流站内信多久收到(拼多多导流以后还能开店吗)

    拼多多导流站内信多久收到(拼多多导流以后还能开店吗)

  • qt语音怎么关闭(qt语音换成什么了)

    qt语音怎么关闭(qt语音换成什么了)

  • cad怎么给画的圆填色(cad画个圆)

    cad怎么给画的圆填色(cad画个圆)

  • 【微信小程序开发】自定义tabBar案例(定制消息99+小红心)(微信小程序开发公司)

    【微信小程序开发】自定义tabBar案例(定制消息99+小红心)(微信小程序开发公司)

  • 应纳税额与应纳税所得额的比率
  • 新公司如何申报城市建设税
  • 耕地占用税的税目
  • 超市小票能否入库
  • 税务局代个人开票
  • 汽车装饰属于什么服务
  • 注销公司账面余额要全部清零吗
  • 13点专票和13点普票的区别
  • 利润分配未分配利润借贷方表示什么
  • 电子税务局上财务制度备案错误是啥意思
  • 房地产企业成本分摊方法整理(附案例分析)
  • 作废的现金支票怎么处理
  • 流动负债中的短期借款
  • 当月确认收入下年怎么算
  • 当月采购发票未到如何做账及结转成本?
  • 银行存款收款凭证
  • 挂靠被查出来后挂靠费怎么处理?
  • 残疾人收到房租租赁发票收入还要缴纳个税吗
  • 个人如何缴纳公共维修基金
  • 建筑劳务公司派遣人员工资发放凭证
  • 企业所得税预缴计算方法
  • 高新企业财务做账要求
  • 库存股股本属于什么科目,借贷方向
  • 税控设备 抵减
  • 工会收到单位拨款怎么办
  • 怎么在安全模式下卸载更新
  • 怎样启动powerpoint
  • psbcie.exe是什么
  • 外贸企业国内运费可以抵扣吗
  • 跟a签订合同可以撤销吗
  • 公司向股东借款合法吗
  • 企业购地流程
  • 在电脑上网页打不开怎么办
  • Mac苹果系统怎么转换中文
  • 工程收入和成本的区别
  • 员工自己垫付的费用怎么走账
  • 内置管理员无法打开此应用
  • WIN7系统如何共享打印机
  • 戈佐西餐厅
  • php yield 异步
  • 固定资产转卖会亏本吗
  • nodejs vue
  • 承包安装工程
  • 长期待摊费用是什么科目
  • 发票没拿回来可以报销吗
  • 设备购买与租赁的分析中,购买优于租赁的条件是
  • mysql中的null值和空
  • 可供分配的利润包括
  • 公司维修费计入什么科目
  • 出售固定资产已开票未收款账务处理
  • 特殊销售方式下的销售额确认图文怎么做
  • 坐车时的保险费怎么算
  • 社保系统个人信息
  • 会计科目中英文对照表下载
  • sql server browser被禁用
  • mysql中的去重
  • win7系统的笔记本电脑有哪些
  • windows xp系
  • 复制system
  • windows server 2003与2008的区别联系与选择指南
  • bios中英文对照表图新版
  • 删除windows.edb
  • win10系统玩dnf闪退
  • win10 rs5
  • linux程序死机
  • windows8怎么打开开始菜单
  • linux怎么删除文本文件
  • bootstrap下拉框设置默认值
  • bc1998录制的css视频教程推荐新手看下
  • 什么是馥芮白
  • vue+axios登录
  • 在dos下删除文件
  • jquery示例
  • bootstrap基础教程pdf
  • nodejs如何安装
  • nodejs如何实现数据库
  • 重庆市网上税务局官网app下载
  • 江苏省扬剧团演出的扬剧罗帕记
  • 天津住房公积金管理中心官网
  • 国税和地税在一起吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号