我有电子邮件活动数据捕捉的时间,目标和响应(无论用户是否打开链接)。响应为1表示用户已打开内容。你知道吗
样本数据:
senddate userid content response
2016-06-01 100 50505 NaN
2016-06-01 100 50505 NaN
2016-06-01 100 50505 1
2016-06-01 100 50505 1
2016-06-02 100 50505 NaN
2016-06-02 100 50505 1
2016-06-02 100 50505 1
现在我只想保留这些行直到第一个响应。我想丢弃在第一个响应之后出现的任何行,并且我想对多个发送日期这样做。你知道吗
输出数据集:
senddate userid content response
2016-06-01 100 50505 NaN
2016-06-01 100 50505 NaN
2016-06-01 100 50505 1
2016-06-02 100 50505 NaN
2016-06-02 100 50505 1
如果有人能帮助构思逻辑,我们将不胜感激。你知道吗
您可以使用^{} 来实现这一点:
如果您
groupby
在“senddate”列上,我们可以生成一个布尔掩码,将索引与first_valid_index
进行比较,这将创建一个多索引,其中第一级是日期,第二级是有值索引值,然后我们使用get_level_values
为该级别检索这些值,并使用loc
进行索引:上述各项的细目:
相关问题 更多 >
编程相关推荐