pandas数据处理与分析补充习题(二)

本篇博客主要介绍了使用pandas进行数据处理的三个实际问题:统计商品审核情况,删除重复行,以及计算学区课程开设数量。在商品审核情况中,涉及通过率计算及审核流程检查;在删除重复行部分,展示了如何从一个数据集中移除另一个数据集的重复行;在学区课程统计中,给出了统计每个学区课程开设数量的方法。
摘要由CSDN通过智能技术生成

书接上回~

Ex3:统计商品的审核情况

在data/supplement/ex3中存放了两个有关商品审核的信息表,“商品信息.csv”中记录了每个商品的ID号,唯一的识别码以及商品所属的类别,“申请与审核记录.csv”中记录了每个商品的审核信息。已知商品的审核流程如下:由申请人发起商品审核的申请,然后由审核人审核,审核的结果包括通过与不通过两种情况,若商品不通过审核则可以由另一位申请人再次发起申请,直到商品的审核通过。

df_info = pd.read_csv('data/supplement/ex3/商品信息.csv')

df_info.head()
Out[9]: 
         ID号      识别码  类别
0  ID 000001  CRtXJUK  T1
1  ID 000002  RGSxifC  Q1
2  ID 000003  AboduTp  S1
3  ID 000004  zlpUeMl  S2
4  ID 000005  IVQqhIK  S3

df_record = pd.read_csv('data/supplement/ex3/申请与审核记录.csv')

df_record.head()
Out[11]: 
         ID号         申请人        申请时间         审核人        审核时间   结果
0  ID 000001  \#+3((52\{  2020-04-19  ~1=6\*183|  2020-05-03  未通过
1  ID 000001  8@75[1|2\*  2020-05-10  15![3\({59  2020-07-17  未通过
2  ID 000001  }!7)(#^0*7  2020-07-28  3`}04}%@75  2020-08-23   通过
3  ID 000002  |*{20#9|}5  2020-01-05  ={`8]03*4+  2020-03-09  未通过
4  ID 000002  4~6%)455`[  2020-03-14  =$-36[)|8]  2020-04-21  未通过
  • 有多少商品最终通过审核?

df_info = pd.read_csv('d:\pdd\data_set\data\supplement\ex3/商品信息.csv')
df_record = pd.read_csv('d:\pdd\data_set\data\supplement\ex3\申请与审核记录.csv')
df_record.loc[df_record.结果=='通过'].shape[0]
#query或者loc都可以

10848
  • 各类别商品的通过率分别为多少?

思路类似求数据集中各列的非空值占比,求得一个布尔序列后计算均值就是通过率

df_record_pass = df_record.loc[df_record.结果=='通过',['ID号','结果']]
df_info_pass = df_info.merge(df_record_pass,on = 'ID号',how = 'left')
#商品表以ID号主键左连接申请审核记录表
df_info_pass.groupby('类别')['结果'].agg(lambda x:x.notna().mean())
#结果列非空,即通过为1,不通过为空,即0,求均值即通过率

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值