Python:基于pandas数据框的分组与递归计算

2024-06-16 14:22:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我的熊猫数据框如下所示:

      id          obal            sprin  prepayment       obal_prepay
      1           100               10    0.02
      1           90                15    0.03
      1           75                20    0.04
        ...           ...        ...         ...
      2           150               10    0.02
      2           140               10    0.03
      2           120               20    0.04

我需要应用以下分组操作:

  1. 对于每个id组,我需要在开头添加一行,这将包含不同列的一个特定数字
  2. 对于每个id组,我都要进行以下“递归”计算 要获取“obal\u prepay”值: obal\u prepay[i]=obal[i-1]-预付款*[obal\u prepay[i-1]-sprin[i] 对于numpy数组中的一个简单示例,代码如下所示:

       for i in range(1,len(id)):
        array[i,4]=array[i-1,0]-array[i-1,4]*array[i,3]- array[i,2]
    

最后的数据帧应该是这样的

 id          obal            sprin  prepayment       obal_prepay
  1           100                 -      -            100
  1           100               10    0.02            100-100*0.02-10=88
  1           90                15    0.03            100-88*0.03-15=82.36    
  1           75                20    0.04            90-82.36*0.04-20=...
    ...           ...        ...         ...
  2           150                -    -               150
  2           150               10    0.02            150-150*0.02-10=137
  2           140               10    0.03            .. .
  2           120               20    0.04            ..

希望这足够清楚

谢谢你

堪萨斯


Tags: 数据代码innumpyid示例for数字