返回

python-损失报告,检查用户是否在执行以下步骤,并且是否具有相同的活动源,如果是,则显示它

发布时间:2022-06-11 23:57:29 356
# node.js

想象当前数据集

Steps CampaignSource set_UserId
One Pot a、 b、c、d、e
Two Pot a、 b、c、d
Three Pot a、 b、c
One Daddy e、 f、g、h
Two Daddy e、 f、g
Three Daddy e、 f

从这个数据集中,您需要构建一个显示丢失用户的df。那些在第一步但不在第二步的人,依此类推

预期结果,

Steps CampaignSource set_UserId
One Pot e
Two Pot d
One Daddy h
Two Daddy g

值得注意的是,当用户ID集在活动源中有所不同时。你需要停下来,避免在不同的竞选资源之间进行比较。

我对此问题的尝试如下:

loss_dict = {
    'Steps':[],
    'UserId':[],
    'CampaignSource':[]
}

for a in camp_df['CampaignSource'].unique():
    temp_df = camp_df.loc[camp_df['CampaignSource'] == a].reset_index(drop=True)
    # The dataset is ordered, i just could make it work in ordered manner
    for b,c in enumerate(zip(temp_df['UserId'],temp_df['Steps'],temp_df[['CampaignSource']])):
        try:    
            loss_dict['Steps'].append(c[1])
            loss_dict['UserId'].append(temp_df['UserId'][b]-temp_df['UserId'][b+1])
            loss_dict['CampaignSource'].append(c[2])
        except KeyError:
            continue

值得注意的是,我没有设法消除最后的步骤,而且我的方法有点过于复杂,我正在寻找替代方法。非常感谢您的帮助!

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像
下一篇
android-定义应用覆盖的主题 2022-06-11 21:51:55