我試圖實現的是: 我有幾個時間序列,我需要在每個點基礎上進行組合,並將結果作爲單個新時間序列返回。將複雜函數應用於多個時間序列
我知道你可以在pandas
系列中使用各種numpy
函數,但我不清楚如何將複雜函數應用到幾個時間序列。
我想要的功能應用:我目前TimeSeries
對象
def direction_day(y_values):
# taking a numpy array of floats
sig_sum = np.sum(np.sign(y_values))
abs_sum = np.sum(np.abs(np.sign(y_values)))
return (sig_sum/abs_sum)
例子:
def ret_random_ts():
dates = ['2016-1-{}'.format(i)for i in range(1,21)]
values = [np.random.randn(4,3) for i in range(20)]
return pd.Series(values, index=dates)
我當然永遠可以通過TimeSeries
與for
無環路和膠水他們在一起。 但是,我想知道是否有一個選項可以將函數傳遞給每個日期包含多個值的TimeSeries
對象,併爲每個日期應用該函數?
即:
ts = ret_random_ts()
ts.apply_func(direction_day,Series['Dates'])
這會應用功能每數據點只是一個y值,或將其應用到所有的y值? 由於我的函數需要一個列表/可迭代的,是否將y值傳遞給我的函數?因爲這在我的測試運行中似乎是這種情況。 – nlsdfnbch
我剛剛完成了我的答案,以提供一些精度。我運行了兩個函數並運行(它不會產生錯誤),但我不知道結果是否符合您的期望。 – Romain
嗯。我不確定它是否確實如此,但您的回答讓我對此有所瞭解。乾杯! – nlsdfnbch