擅长:python、mysql、java
<p>根据下面的建议,我正在使用<code>np.unique</code>来编辑此文件以包括计时。这是目前为止最好的解决办法</p>
<pre><code>In [10]: import pandas as pd
import numpy as np
from collections import Counter
#create a fake data set
dates = pd.date_range("2012-01-01", "2015-01-01", freq="10min")
dates = np.random.choice(dates, 2000000, replace=True)
</code></pre>
<p>根据以下建议,以下是目前最快的:</p>
^{pr2}$
<p>使用counter可以创建一个每项计数的字典,然后将其转换为<code>pd.Series</code>,以便进行过滤</p>
<pre><code>In [11]: %%timeit
foo = pd.Series(Counter(dates))
filtered_dates = np.array(foo[foo > 20].index)
1 loop, best of 3: 12.3 s per loop
</code></pre>
<p>对于一个包含200万个项目的数组来说,这还不算太糟,与以下相比:</p>
<pre><code>In [12]: dates = list(dates)
filtered_dates = [e for e in set(dates) if dates.count(e) > 20]
</code></pre>
<p>我不会等清单理解版完成的。。。在</p>