根据利润数据分布把地区分组为:“较差”,“中等”,“较好”,“非常好”
首先,当然是查看利润的数据分布呀,这里我们采用四分位数去判断。
sale.groupby(“地区名称”)[“利润”].sum().describe()
根据四分位数把地区总利润为[-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)
7、对比两列差异
因为这表每列数据维度都不一样,比较起来没啥意义,所以我先做了个订单明细号的差异再进行比较。
需求:比较订单明细号与订单明细号2的差异并显示出来。
sale[“订单明细号2”]=sale[“订单明细号”]
#在订单明细号2里前10个都+1.
sale[“订单明细号2”][1:10]=sale[“订单明细号2”][1:10]+1
#差异输出
result=sale.loc[sale[“订单明细号”].isin(sale[“订单明细号2”])==False]
8、异常值替换
首先用describe()函数简单查看一下数据有无异常值。
#可看到销项税有负数,一般不会有这种情况,视它为异常值。
sale.describe()
需求
用0代替异常值。
sale[“订单金额”]=sale[“订单金额”].replace(min(sale[“订单金额”]),0)
9、缺失值处理
先查看销售数据哪几列有缺失值
#列的行数小于index的行数的说明有缺失值,这里客户名称329<335,说明有缺失值
sale.info()
需求
用0填充缺失值或则删除有客户编码缺失值的行
实际上缺失值处理的办法是很复杂的,这里只介绍简单的处理方法,若是数值变量,最常用平均数或中位数或众数处理,比较复杂的可以用随机森林模型根据其他维度去预测结果填充。
若是分类变量,根据业务逻辑去填充准确性比较高。
比如这里的需求填充客户名称缺失值:就可以根据存货分类出现频率最大的存货所对应的客户名称去填充。
这里我们用简单的处理办法:用0填充缺失值或则删除有客户编码缺失值的行。
#用0填充缺失值
sale[“客户名称”]=sale[“客户名称”].fillna(0)
#删除有客户编码缺失值的行
sale.dropna(subset=[“客户编码”])
10、数据分列
需求
将日期与时间分列
sale=pd.merge(sale,pd.DataFrame(sale[“单据日期”].str.split(" ",expand=True)),how=“inner”,left_index=True,right_index=True)
11、 模糊筛选数据
需求
筛选存货名称含有"三星"或则含有"索尼"的信息
sale.loc[sale[“存货名称”].str.contains(“三星|索尼”)]
12、删除数据间的空格
需求
删除存货名称两边的空格
sale[“存货名称”].map(lambda s 😒.strip(“”))
13、根据业务逻辑定义标签
需求
销售利润率(即利润/订单金额)大于30%的商品信息并标记它为优质商品,小于5%为一般商品。
sale.loc[(sale[“利润”]/sale[“订单金额”])>0.3,“label”]=“优质商品”
sale.loc[(sale[“利润”]/sale[“订单金额”])<0.05,“label”]=“一般商品”
14、多条件筛选
需求
想知道业务员张爱,在北京区域卖的商品订单金额大于6000的信息。
sale.loc[(sale[“地区名称”]“北京”)&(sale[“业务员名称”]“张爱”)&(sale[“订单金额”]>5000)]
文末有福利领取哦~
👉一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉二、Python必备开发工具
👉三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉 四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
👉五、Python练习题
检查学习结果。
👉六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传
加入社区:https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0