通过apply函数在每列中使用不同的参数

时间:2018-07-30 21:30:29

标签: python python-3.x pandas apply statsmodels

我正在尝试使用apply函数将递归过滤器函数映射到数据框的字段,每个字段使用不同的辅助参数。这可能吗?

import statsmodels.tsa as tsa
from statsmodels.tsa.filters.filtertools import recursive_filter as rec

#create dataset

a = np.array(0).repeat(150)
b = np.array(0).repeat(150)
c = np.array(0).repeat(150)
a[0:90] = np.random.uniform(5,10,(90,))
b[50:150] = np.random.uniform(20,40,(100,))
c[30:100] = np.random.uniform(5,25,(70,))
df = pd.DataFrame({'a':a , 'b':b , 'c':c })

我可以将apply函数与递归函数中的单个参数一起使用,如下所示:

df.apply(rec,ar_coeff=0.5,axis=0)

但是我想为每列应用一个不同的参数值,理想情况下不使用for循环。

x = (.5,.1,.2)
df.apply(rec, x, axis=0)

欢呼

0 个答案:

没有答案