Интерполировать дату между двумя другими датами, чтобы получить значение - PullRequest
0 голосов
/ 22 октября 2018

У меня есть этот pandas dataframe:

     ISIN             MATURITY       PRICE   
 0  AR121489 Corp     29/09/2019    5.300
 1  AR714081 Corp     29/12/2019    7.500
 2  AT452141 Corp     29/06/2020    2.950
 3  QJ100923 Corp     29/09/2020    6.662

Мой вопрос заключается в том, существует ли способ интерполировать дату в столбце "Зрелость" и получить значение цены этой даты.Например, если я выберу дату 18/11/2019, значение цены на эту дату должно быть между 5.300 и 7.500.Я не знаю, возможно ли то, что я спрашиваю, но большое вам спасибо за то, что вы нашли время прочитать его и пытаетесь помочь мне.

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Я бы относился к датам как к объектам даты и времени, а для интерполяции преобразовывал дату из объекта даты и времени в некоторое значение временного интервала, т. Е. В секунды с 20XX-XX-XX 00:00:00 или в дни, и то же самое, что я делал бы длявыходные моменты.После этого интерполяция работает также с NumPy методом интерполяции.

В matplotlib.dates есть метод date2num, а также num2date, который стоит попробовать.

0 голосов
/ 22 октября 2018

Что вы можете сделать, если хотите, чтобы дневная частота интерполировалась, сначала создайте дневной частотный диапазон с указанием даты начала и окончания.

new_df = pd.DataFrame()
new_df["MATURITY"] = pd.date_range(start='29/09/2019', end='29/09/2020')
new_df = pd.concat([new_df,old_df], join="outer", axis=1)
new_df["PRICE"] = new_df["PRICE"].interpolate(method = "linear")
...