У меня есть DatetimeIndex и скалярная функция, которая возвращает число с плавающей запятой с учетом datetime + некоторые параметры.Цель состоит в том, чтобы создать Series с этим DatetimeIndex и соответствующими значениями.Я делаю это сейчас так:
def f(dt: DateTime, p: float) -> float:
# the actual calculation is much more complex and even queries a DB
# there also are more parameters in the real life
return p * 2.0
def fs(dti: DatetimeIndex, p: float) -> Series:
dts: ndarray = dti.to_pydatetime()
vals: List[float] = list()
for dt in dts:
vals.append(f(dt, p))
dtf: DataFrame = DataFrame({'dt': dti, 'val': vals})
dtf = dtf.set_index('dt')
dtf = dtf.reindex(dti)
return dtf['val']
Но я подозреваю, что должен быть более элегантный способ.Есть ли?