是否可以使用Numba加速以下功能?在
@jit(nopython=True)
def loanDates(startDate, endDate, freq):
startDate=pd.to_datetime(startDate)
endDate=pd.to_datetime(endDate)
if int(12/freq)==12/freq:
FirstDate=pd.to_datetime(dt.datetime(startDate.year,startDate.month,1))
ts=pd.date_range(start=FirstDate,end=endDate,freq=str(-int(12/freq))+"MS")
ts=list(ts)
for i in range(len(ts)):
if startDate.day>ts[i].days_in_month:
ts[i]=ts[i]+pd.DateOffset(days=ts[i].days_in_month-1)
else:
ts[i]=ts[i]+pd.DateOffset(days=startDate.day-1)
ts=pd.DatetimeIndex(ts)
我得到了这个错误:
^{pr2}$据我所知,datetime和Numba有问题。我试着用pd.date U范围我的方法很简单,但它并不能满足我的需要:
x=np.arange(np.datetime64(sd), np.datetime64(ed),str(-int(12/fq))+"MS")
给出错误
ValueError: Could not convert object to NumPy timedelta
那么有没有可能使用numba来实现这种功能呢?在
慢的部分是你的
for
循环,你不需要Numba来优化它。而不是这样:将其矢量化,如下所示:
^{pr2}$或者进一步简化:
这至少要快10倍。在
相关问题 更多 >
编程相关推荐