我有一个投票数据框,其中包含“时间戳”、“电子邮件地址”和“想法”列。我必须将每个电子邮件地址的投票计数限制为每天最多 3 个。数据框看起来像这样(来自不同电子邮件地址的投票更多)
Timestamp Email address Idea
5/26/2021 17:28:44 abc@gmail.com a
5/26/2021 17:28:49 abc@gmail.com b
5/26/2021 17:28:51 abc@gmail.com c
5/26/2021 17:29:05 abc@gmail.com d
5/27/2021 12:01:57 abc@gmail.com a
所以我需要删除为想法“d”投票的行。我尝试做 df.groupby(['Timestamp', 'Email address']).head(3),但这没有意义,因为它也考虑了投票时间。提前致谢!
答案 0 :(得分:1)
创建日期列然后将它们按三个分组是否有效?这消除了所有/大多数时间戳都是唯一的问题。
df[‘date’] = df[‘Timestamp’].dt.date()
df.groupby(['date', 'Email address']).head(3)