python - 在Python数据框中复制Excel计算

标签 python excel pandas

您好,我正在尝试在 python 数据框中复制此 Excel 计算=C2*A3^B3。但无法将前一行的计算字段放入我的计算中。

Excel data

formuls

输入数据:

 ftax        stax
 1.000000000     0   
 0.999959316     3   
 0.999959316     1   
 0.999959316     3   
 0.999959316     3   
 0.999959316     1

如果我将值放入 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

我尝试过的示例代码

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

我的输出如下:

      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  

最佳答案

需要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

关于python - 在Python数据框中复制Excel计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48864746/

相关文章:

python - 创建一个函数来进行傅里叶逆变换

python - Jenkins :显示测试失败的日期和时间

python - 为什么 skimage.imread() 不返回我的 bmp 的 RGB 值?

python - Django TestCase 在测试完成运行后不会销毁测试数据

python - Pandas 将一天添加到列

excel - 如何使用 selenium webdriver 设置自动完成下拉值

excel - 使用公式内现有单元格中的值

excel - Worksheet_Change - 同时定位多个单元格

python - 过滤 pandas 中的数据框

python - 如何交换数据集中整列的单元格值?