我有一个按时间顺序排列的大型 datetime.date 对象数组。该数组中的许多日期都是相同的,但是缺少一些日期……(这是“真实数据”的时间序列,因此很混乱)。
我想计算每个日期有多少数据点,目前我这样做:
import datetime as dt
import numpy as np
t = np.array([dt.date(2012,12,1) + dt.timedelta(n) for n in np.arange(0,31,0.25)])
Ndays = (t[-1] - t[0]).days
data_per_day = np.array([sum(t == t[0] + dt.timedelta(d)) for d in xrange(Ndays)])
但是我发现这非常慢!(大约 400,000 个数据点超过 10 分钟)有没有更快的方法?