pands 使用unstack和nunique()统计 同一id下某类出现的次数

灵活使用unstack和nunique真的是相当的强大,遇到了统计套牌车的一个需求。

第一部我们使用分组函数统计车牌号,并将其展开成一个映射表,统计出现次数,使用unstack(0)是指将第几个列名抬上去,由双主键变为一列,一序号。

cartype = df.groupby(['车牌号', '车型'])['车型'].count().unstack(level=0)

unstack前

车牌号        车型                                           
           计货2      1    1     1   1   1               1
  辽A837GK  计货1      1    1     1   1   1               1
 冀C79185   计货2      1    1     1   1   1               1
 

unstack后

车牌号         辽A837GK   冀C79185      ...     黑iBJ4199  ,辽CG1300  ,辽LP1547
车型                                 ...                                 
一型货  NaN        NaN         NaN    ...          NaN       NaN       NaN
一型车  NaN        NaN         NaN    ...          NaN       NaN       NaN
三型货  NaN        NaN         NaN    ...          NaN       NaN       NaN

cartype.index
Index(['一型货', '一型车', '三型货', '三型车', '二型货', '二型车', '五型货', '五型车', '四型货', '四型车',
       '特货1', '特货2', '特货3', '特货4', '特货5', '计货1', '计货2', '计货3', '计货4', '计货5'],
      dtype='object', name='车型')

cartype.columns
Index(['', '  辽A837GK', ' 冀C79185  ', ' 冀T65357  ', ' 吉A58067', ' 吉A5G900',
       ' 吉A5K206  ', ' 吉AP5391', ' 吉B74217', ' 吉BB7038 ',
       ...
       '黑UNA737', '黑UR1680', '黑XX35VL', '黑YN71F5', '黑YP5160', '黑Z58101',
       '黑ZC6502', '黑iBJ4199', ',辽CG1300', ',辽LP1547'],
      dtype='object', name='车牌号', length=149605)

然后在使用nunique统计,就能得到使用过的车型的状态,每个车牌号只能对应一种车型,所以大于1的都是套牌车。

车牌号
              
  辽A837GK     1
 冀C79185      1
 冀T65357      1
 吉A58067      1
 吉A5G900      1
 吉A5K206      1
 吉AP5391      1
 吉B74217      1
 吉BB7038      1
 吉C3D728      1
 吉C4L008      1
 吉CA5958      1
 


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值