python3关于groupby常用函数的讲解 agg函数 apply函数(详细见上一博客)

这里排列几个例子 就一目了然了 

这里是原始的数据


import pandas as pd
import numpy as np
#1754884 record,1053282 with coupon_id,9738 coupon. date_received:20160101~20160615,date:20160101~20160630, 539438 users, 8415 merchants  
off_train = pd.read_csv(r'C:\Users\yang\Desktop\kongbaizhi.csv',header=None)  
off_train.columns = ['user_id','merchant_id','coupon_id','discount_rate','distance','date_received','date']  
#2050 coupon_id. date_received:20160701~20160731, 76309 users(76307 in trainset, 35965 in online_trainset), 1559 merchants(1558 in trainset)  

# feature3 = off_train[(off_train.date_received>='20160115')&(off_train.date_received<='20160315')]
# print(feature3)
# a=off_train.date_received[12]
# print(a)
# print(type(a))


# b=off_train.date_received[2]
# print(b)
# print(type(b))

t=off_train.groupby(['user_id','coupon_id'])
print(t)

这里t为一个groupby组 不会输出任何形式的东西,只进行了拆分处理 。这时候为了对数据操作即组合,我们需要用到

agg和apply这两个函数 

t=off_train.groupby(['user_id','coupon_id']).agg(lambda x:':'.join(x))
print(t)

agg相当于对groupby进行纵向操作

再解释下这句代码 加了一个['date_received']

t=off_train.groupby(['user_id','coupon_id'])['date_received'].agg(lambda x:':'.join(x))
print(t)

意思是整体的不要 只针对['date_received']进行操作



而apply函数 自由度更高 可以横向操作 也可以纵向操作 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值