Выбор даты в соответствии с критериями - требуется оптимизация временных рядов панд - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь найти конкретную дату D1 на основе уже имеющейся даты D2 , чтобы D1<D2<mat и D1 имели точную дату как mat

Мой код

%%time
from datetime import date
from dateutil.relativedelta import relativedelta

df['d1']=pd.DataFrame({'d1':[]})
for index, date in enumerate(df.d2):
    n=0
    while (df.d2[index] < (df.mat[index]+ relativedelta(months=-12*n/df.Freq[index]))):
        n+=1
    df['d1'][index] = (df.mat[index]+ relativedelta(months=-12*n/df.Freq[index]))    

sample out sample

Объяснение: На основе Matacity выберите d1, который являетсянепосредственно перед d2, но с той же датой погашения, если частота равна 2, то откат составляет шаги 6 месяцев, если частота равна 1, тогда откат происходит с шагом в 1 год, если частота равна 4, тогда откат идет с шагом 3monhts

Я работаю над данными с 4 миллионами строк и 4 листами Excel.

но процесс занимает более 1,5 часов для каждого файла Excel.Есть ли более быстрый способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...