片段的唯一性标识——Python

这段代码主要用于通过device_id、ds和order_id三个字段创建数据片段的唯一标识。它首先初始化一个名为temp的列用于记录与上一行数据的不同之处,然后通过循环检查每一行,如果这三个字段中的任何一个发生了变化,temp值就会累加。最后,利用temp列生成label列,表示每个片段的标识,并累计计算。整个过程使用了pandas的shift和diff函数来比较相邻行的数据差异。
摘要由CSDN通过智能技术生成

根据device_id+ds+order_id为唯一标识给片段打标签

df1['temp']=0  #temp记录与上一条的不同数
for i in range(len(df1)):
    if (df1.device_id.shift()[i]!= df1.device_id[i]) or (df1.ds.diff()[i]!=0) or (df1.rw.diff()[i]!=0):
        df1.temp[i]+=1
df1['label']=df1.temp[0] #label是累积数,也是片段的唯一标识
for i in range(len(df1)):
    df1.label[i]=sum(df1.temp[0:(i+1)])
    #print(i) #查看循环轮数

#shift是一阶差分函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值