Как я могу быстро преобразовать столбцы даты и времени в Quanlib Date? - PullRequest
0 голосов
/ 11 марта 2020

Скажем, один из столбцов даты и времени, как показано ниже

PORT['ISSUE_DT']

0 2019-01-31 1 2018-10-24 2 2018-11-16 3 2018-11-16 4 2018-11- 16

Как быстро конвертировать его в Quanlib Date? Я могу преобразовать один элемент, как показано ниже, есть ли какие-либо методы без использования 'for'?

#DATA_DT
d = PORT['ISSUE_DT'][0]
#convert datetime to qt Date
d_qt =Date(d.day, d.month, d.year)

Я знаю, что есть функция apply, такая как R, но я не знаю, как справиться с apply с классом. атрибут

1 Ответ

0 голосов
/ 11 марта 2020

QuantLib Python имеет 3 способа создания объекта Date:

  • ql.Date (serialNumber), где serial такой же, как excel
  • ql.Date ( день, месяц, год)
  • ql.Date (dateString, formatString)

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

Например:

PORT.ISSUE_DT = PORT.ISSUE_DT.astype(str).apply(lambda d: ql.Date(d, '%Y-%m-%d'))

Это преобразует столбец из строк в ql.Date

...