在跳过某些迭代后来回拨打用户列表

时间:2017-04-29 07:50:11

标签: python for-loop

我正在做一些分析,其中我正在应用某个过滤器来删除某些已经看过特定内容(策略)的用户。

原始数据框如下所示:

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中的用户。我当时想继续使用,但不知道怎么做。任何帮助将不胜感激。

1 个答案:

答案 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