查找具有最旧时间戳的唯一条目

时间:2013-08-11 02:55:50

标签: python pandas

我有一个包含电子邮件地址和日期戳的数据框,我需要找到从每个地址收到的第一封电子邮件。

df DateTime Email
   10/01/13 a@a.com
   14/02/13 a@a.com
   16/02/13 b@b.com   
   24/07/13 a@a.com
   12/01/12 b@b.com

这样的事情会起作用吗?

df.sort(column='DateTime')
new_df = unique(df[df['Email']])

唯一会获取排序数据框的第一个值吗? 有没有更好的方法呢? 谢谢!

1 个答案:

答案 0 :(得分:2)

DataFrame.drop_duplicates()默认保留第一个观察结果:

DataFrame.drop_duplicates(cols=None, take_last=False, inplace=False)

如您所建议的那样排序DataFrame,您最终只会收到最旧的电子邮件。

请参阅the documentation for DataFrame.drop_duplicates

让我补充一点,您可以指明删除重复项的列,即电子邮件列:df.drop_duplicates(['Email'])