filter numpy array of datetimes by frequency of occurance
Sort your array 
Count contiguous occurrences by going through it once, & filter for frequency >= 20

The running time is O(nlog(n)) whereas your list comprehension was probably O(n**2)... that makes quite a difference on 2 million entries.
Depending on how your data is structured, you might be able to sort only the axis and data you need from the numpy array that holds it.
I have an array of over 2 million records, each record has a 10 minutes resolution timestamp in datetime.datetime format, as well as several other values in other columns.
I only want to retain the records which have timestamps that occur 20 or more times in the array.  What's the fastest way to do this?  I've got plenty of RAM, so I'm looking for processing speed.
I've tried [].count() in a list comprehension but started to lose the will to live waiting for it to finish.  I've also tried numpy.bincount() but tragically it doesn't like datetime.datetime
Any suggestions would be much appreciated.
Thanks!