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
值得注意的是,我没有设法消除最后的步骤,而且我的方法有点过于复杂,我正在寻找替代方法。非常感谢您的帮助!
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报