当前位置:

首页 > 编程开发 > Python处理Excel常用操作有哪些?

Python处理Excel常用操作有哪些?

大家好,我是菜鸟哥!数据是网上找到的销售数据,长这样:一、关联公式:Vlookupvlookup是excel几乎最常用的公式,一般用于两个表的关联查询等。所以我先把这张表分为两个表。df1=sale[['订单明细号','单据日期','地区名称','业务员名称','客户分类','存货编码','客户名称','业务员编码','存货名称','订单号','客户编码','部门名称','部门编码']]df2=sale[['订单明细号','存货分类','税费','不含税金额','订单金额',

本文目录

    Python处理Excel常用操作有哪些?

    大家好,我是菜鸟哥!

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

    Python处理Excel常用操作有哪些?

    一、关联公式: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")

    二、数据透视表

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

    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()

    Python处理Excel常用操作有哪些?

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

    这里我们用简单的处理办法:用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()

    Python处理Excel常用操作有哪些?

    十、删除数据间的空格

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

    sale["存货名称"].map(lambda s :s.strip(""))

    十一、数据分列

    Python处理Excel常用操作有哪些?

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

    sale=pd.merge(sale,pd.DataFrame(sale["单据日期"].str.split(" ",expand=True)),how="inner",left_index=True,right_index=True)

    十二、异常值替换

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

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

    sale.describe()

    Python处理Excel常用操作有哪些?

    需求:用0代替异常值。

    sale["订单金额"]=sale["订单金额"].replace(min(sale["订单金额"]),0)

    十三、分组

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

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

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

    Python处理Excel常用操作有哪些?

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

    #先建立一个Dataframe
    sale_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要判断格式,若非数值型数据直接报错。)

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Python Excel
    相关文章 更多
    python删除一个列表里的重复元素的方法与代码示例
    python删除一个列表里的重复元素的方法与代码示例

    学习如何使用Python高效删除列表中的重复元素。本文提供5种常见方法的代码示例,涵盖保持顺序与不保持顺序的场景,适合初学者和进阶开发者参考。

    Python写接口的步骤及完整代码示例
    Python写接口的步骤及完整代码示例

    详细讲解使用Python编写Web接口的核心步骤与完整代码示例,涵盖环境准备、路由定义、数据校验、服务启动及调试测试方法。

    codex怎么读取word文档及docx文件操作教程
    codex怎么读取word文档及docx文件操作教程

    介绍如何利用编程工具读取和解析Word文档(docx格式),涵盖基础文本提取代码示例、结构化数据处理逻辑,以及处理复杂排版时的技术局限与替代方案。

    怎么在Python中调用C语言代码提升性能
    怎么在Python中调用C语言代码提升性能

    详细讲解在Python中调用C语言代码提升性能的完整实践指南,包含原理分析、编译步骤、ctypes与CFFI具体实现、性能对比及常见陷阱。

    Python与C语言的性能差异及底层原理
    Python与C语言的性能差异及底层原理

    深入解析Python与C语言在执行效率上的数量级差异,从编译机制、变量内存布局、动态类型推断到GIL锁,系统阐明底层核心原理。

    Python和C语言哪个更适合编程入门
    Python和C语言哪个更适合编程入门

    客观对比Python与C语言在心智负担、底层机制与学习反馈上的核心差异,提供清晰有据的选择标准与切实的入门学习路径。

    selenium上传文件教程本地文件路径设置方法
    selenium上传文件教程本地文件路径设置方法

    深入解析Selenium处理文件上传的技术细节,涵盖标准HTML控件的路径直接注入法与非标准控件的系统级模拟方案,提供Windows与Linux环境下的路径设置最佳实践及常见异常排查。

    PDF表格怎么转换成Excel?如何免费将PDF表格转成Excel?
    PDF表格怎么转换成Excel?如何免费将PDF表格转成Excel?

    大家有没有遇到过PDF里的表格无法直接编辑的情况?这时候,将其转换为Excel再进行数据整理就会方便很多。下面,我给大家详细介绍3种完整的操作方法,每一步都配有对应的操作截图,同时还会说明普通PDF和扫描版表格在处理上的区别。 方法一:用极轻PDF转换Excel极轻PDF(pdf.cn)的PDF转E

    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景
    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景

    针对大数据工程场景,系统对比Java、Scala与Python在执行性能、生态结合、开发效率和维护成本上的核心差异,给出清晰的架构选型依据与落地方案。

    langgraph python guide中文入门教程详解
    langgraph python guide中文入门教程详解

    本篇LangGraph Python中文入门教程详解,系统梳理StateGraph状态机定义、节点编写、边与条件路由、检查点持久化(MemorySaver)等核心机制,提供从环境安装到完整循环智能体构建的代码示例与实操指导。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。