如何在python dataframe中查找列product列

如何在python dataframe中查找列product列,python,pandas,dataframe,triangle,Python,Pandas,Dataframe,Triangle,我有这样的数据帧: DP 1 DP 2 DP 3 DP 4 DP 5 DP 6 DP 7 DP 8 DP 9 DP 10 2.720 1.748 1.462 1.228 1.152 1.055 1.063 1.080 1.001 4.361 1.641 1.430 1.117 1.181 1.018 1.052 1.096 3.345 1.840 1.

我有这样的数据帧:

  DP 1    DP 2    DP 3    DP 4    DP 5    DP 6    DP 7    DP 8    DP 9   DP 10
 2.720   1.748   1.462   1.228   1.152   1.055   1.063   1.080   1.001  
 4.361   1.641   1.430   1.117   1.181   1.018   1.052   1.096      
 3.345   1.840   1.505   1.262   1.115   1.095   1.053          
 2.663   1.748   1.352   1.256   1.051   1.119              
 3.494   1.907   1.506   1.108   1.091                  
 3.104   1.559   1.458   1.092                      
 2.978   1.484   1.374                          
 3.066   1.695                              
 2.876                                                          
 1.179   1.699   1.439   1.179   1.116   1.073   1.055   1.089   1.001   1.000 
我必须找到这个:

 4.680   3.971   2.337   1.624   1.377   1.234   1.150   1.090   1.001   1.000 
根据公式: 我必须找到最后一行第一个元素和元素其余部分的乘积,即:乘积(1.179到1.000)=4.680 然后下一个乘积(1.699到1.000)=3.971,依此类推

产品(第一个:最后一个)

产品(第二个:最后一个)

产品(第三名:最后一名)


因此…

假设您的数据帧已经有了最后一行,那么
df.iloc[[-1]]
是:

DP 1 DP 2 DP 3 DP 4 DP 5 DP 6 DP 7 DP 8 DP 9 DP 10
1.179  1.699  1.439  1.179  1.116  1.073  1.055  1.089  1.001    1.0
将序列反转,然后采取以下步骤:

df.iloc[-1][:-1].cumprod()
#输出
DP 101000000
DP 9 1.001000
DP 8 1.090089
DP 7 1.150044
DP 6 1.233997
DP 5 1.377141
DP 4 1.623649
DP 3 2.336431
DP 2 3.969596
DP 14.680154
要恢复原始顺序,请反转结果:

df.iloc[-1][:-1].cumprod()[:-1]
#输出
DP 14.680154
DP 2 3.969596
DP 3 2.336431
DP 4 1.623649
DP 5 1.377141
DP 6 1.233997
DP 7 1.150044
DP 8 1.090089
DP 9 1.001000
DP 101000000

(这些数字看起来略有不同,因为您在问题中已将它们四舍五入。)

谢谢您。。!我想要一行。我不认为您应该将其添加到一行中,但是-上面的结果是一个系列,所以要将其添加为一行,请执行:
result=df.iloc[-1][:-1].cumprod()[::-1]
然后
df=df.append(result,ignore\u index=True)