相关疑难解决方法(0)

Pandas中的递归定义

我有一个时间序列,A持有几个值.我需要获得一个B代数定义的系列如下:

B[t] = a * A[t] + b * B[t-1]
Run Code Online (Sandbox Code Playgroud)

在哪里我们可以假设B[0] = 0,a并且b是实数.

有没有办法在Pandas中进行这种类型的递归计算?或者我没有选择,只能按照这个答案中的建议循环使用Python ?

作为输入的一个例子:

> A = pd.Series(np.random.randn(10,))

0   -0.310354
1   -0.739515
2   -0.065390
3    0.214966
4   -0.605490
5    1.293448
6   -3.068725
7   -0.208818
8    0.930881
9    1.669210
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

18
推荐指数
1
解决办法
2609
查看次数

如何用pandas-python递归地构造一列数据帧?

给出这样一个数据框df:

id_      val     
11111    12
12003    22
88763    19
43721    77
...
Run Code Online (Sandbox Code Playgroud)

我想添加一列diffdf,并且它的每一行等于,我们说了,val在该行减去diff上一行和乘0.4,然后加入diff前一天:

diff = (val - diff_previousDay) * 0.4 + diff_previousDay
Run Code Online (Sandbox Code Playgroud)

并且diff第一行中的等于val * 4该行.也就是说,预期df应该是:

id_      val     diff   
11111    12      4.8
12003    22      11.68
88763    19      14.608
43721    77      ...
Run Code Online (Sandbox Code Playgroud)

我试过了:

mul = 0.4
df['diff'] = df.apply(lambda row: (row['val'] - df.loc[row.name, 'diff']) * mul + df.loc[row.name, 'diff'] if int(row.name) > 0 else …
Run Code Online (Sandbox Code Playgroud)

python recursion multiple-columns dataframe pandas

6
推荐指数
2
解决办法
5425
查看次数

标签 统计

pandas ×2

python ×2

dataframe ×1

multiple-columns ×1

numpy ×1

recursion ×1