我正在做一些分析,其中我正在应用某个过滤器来删除某些已经看过特定内容(策略)的用户。
原始数据框如下所示:
user content response
100 esample 0
101 esample 1
.................
106 esample 0
现在,这个数据帧在各种迭代中进行模拟。因此,在每次迭代中,我们都有不同的数据集,具有相同的列。现在,在每次迭代中,我都想过滤那些看过' esample'并在两次后续迭代后带上它们。例如,在第3次和第4次迭代中,不应考虑使用tactic1_list中的用户(已经看过esample的用户)进行分析。它们在第5次迭代中再次被分析。
for i in range(2,10):
#Apply a filter on original dataframe(df) and create a list at each iteration
#segregate those users who have seen a Esample content
tactic1_list=df.loc[(df.tactic=='Esample') & (df.response > 0)]['muid'].tolist()
# exclude these users from original dataframe
tactic1_sample_muids= list(set(df.muid).difference(tactic1_list))
###Further analysis
现在我想以这样的方式编码,以便在后续2次迭代后再次使用tactic1_list中的用户。我当时想继续使用,但不知道怎么做。任何帮助将不胜感激。
答案 0 :(得分:0)
这个答案是关于如何在你的案例中使用继续来实现你的目标
for i in range(2,10):
if i in [3,4]: # if 3 and 4 or 3rd and 4th iteration number
continue
# otherwise process user