如何使用python中的公式获取数据框三角形

问题描述

我们有这样的桌子

Cumulative Paid Triangle                                            
               DP 1         DP 2        DP 3        DP 4        DP 5        DP 6        DP 7        DP 8        DP 9       DP 10    
    OP 1     3,57,848    11,24,788   17,35,330   22,18,270   27,45,596   33,19,994   34,66,336   36,06,286   38,33,515   39,01,463   
    OP 2     3,52,118    12,36,139   21,70,033   33,53,322   37,99,067   41,20,063   46,47,867   49,14,039   53,39,085      
    OP 3     2,90,507    12,92,306   22,525   32,179   39,85,995   41,32,918   46,28,910   49,09,315          
    OP 4     3,10,608    14,858   21,95,047   37,447   40,29,929   43,81,982   45,88,268               
    OP 5     4,43,160    11,350   21,333   28,97,821   34,02,672   38,73,311               
    OP 6     3,96,132    13,217   21,80,715   29,752   36,91,712                      
    OP 7     4,40,832    12,463   24,861   34,83,130                      
    OP 8     3,59,480    14,21,128   28,64,498                           
    OP 9     3,76,686    13,63,294                              
    OP 10    3,44,014                                       

对所有列(如 DP3/DP2、DP4/DP3 等)使用公式 DP2/DP1。

从这个公式我们需要得到这样的表格

DP 1    DP 2    DP 3    DP 4    DP 5    DP 6    DP 7    DP 8    DP 9    DP 10
OP 1     3.14    1.54    1.28    1.24    1.21    1.04    1.04    1.06    1.02    -   
OP 2     3.51    1.76    1.55    1.13    1.08    1.13    1.06    1.09    -      
OP 3     4.45    1.72    1.46    1.23    1.04    1.12    1.06    -          
OP 4     4.57    1.55    1.71    1.07    1.09    1.05    -              
OP 5     2.56    1.87    1.36    1.17    1.14    -                  
OP 6     3.37    1.64    1.37    1.24    -                      
OP 7     2.92    1.88    1.44    -                          
OP 8     3.95    2.02    -                              
OP 9     3.62    -                                  
OP 10    -          

这是我试过的代码: 此代码仅适用于有限数量的值(如 DP_1 到 DP_9),但如果我们在表中有大量值?..

        result = cursor.execute("""
        Select
        D1 as DP1,D2 as DP2,D3 as DP3,D4 as DP4,D5 as DP5,D6 as DP6,D7 as DP7,D8 as DP8,D9 as DP9
        From (
        Select
            DP1,DP2,DP3,DP4,DP5,DP6,DP7,DP8,DP9,DP10,DP2 * (DP1 As d1,DP3 / DP2 As d2,DP4 / DP3 As d3,DP5 / DP4 As d4,DP6 / DP5 As d5,DP7 / DP6 As d6,DP8 / DP7 As d7,DP9 / DP8 As d8,DP10 / DP9 As d9
        from CumulativePaidTriangle
        )""" ```



                        


解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...