Abh*_*his 2 python excel pandas
你好,我正在尝试=C2*A3^B3在 python 数据框中复制这个 excel 计算。但无法将前一行的计算字段放入我的计算中。
输入数据 :
ftax stax
1.000000000 0
0.999959316 3
0.999959316 1
0.999959316 3
0.999959316 3
0.999959316 1
Run Code Online (Sandbox Code Playgroud)
如果我将值放入 excel 并应用此公式,我会得到以下结果并希望在 python 中复制相同的结果
=C2*A3^B3在单元格 C3 和 =A2^B2单元格 C2 中
期望的输出:
ftax stax cal_field
1.000000000 0 1.000000000
0.999959316 3 0.999877952
0.999959316 1 0.999837272
0.999959316 3 0.999715244
0.999959316 3 0.999593230
0.999959316 1 0.999552562
Run Code Online (Sandbox Code Playgroud)
我尝试过的示例代码
nav_df = pd.DataFrame(nav_cal)
nav_df[cal_filed_1] = nav_df[cal_filed].shift(1).fillna("1")
print (nav_df[cal_filed]*(nav_df[cal_filed_1])**nav_df[9]) #I think this is not the right way
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
ftax stax cal_field
0 0.999996 0 1.000000
1 0.999996 3 0.999837
2 0.999996 1 0.999919
3 0.999996 3 0.999837
4 0.999996 3 0.999837
5 0.999996 1 0.999919
Run Code Online (Sandbox Code Playgroud)
需要cumprod,只有必要第一个值始终是1:
df['cal_field'] = (df['ftax'] ** df['stax']).cumprod()
print (df)
ftax stax cal_field
0 1.000000 0 1.000000
1 0.999959 3 0.999877
2 0.999959 1 0.999836
3 0.999959 3 0.999713
4 0.999959 3 0.999590
5 0.999959 1 0.999549
Run Code Online (Sandbox Code Playgroud)