【问题标题】:how to do a continuous sum with python pandas如何用 python pandas 进行连续求和
【发布时间】:2022-11-27 05:59:45
【问题描述】:

如图所示,我想在 python pandas 中做同样的事情。 enter image description here

这是求和函数,其中第一个单元格是固定的,公式计算“连续求和”。

我试图创建 pandas 数据框,但是我没能完全做到这一点。

【问题讨论】:

  • 也许到目前为止显示您的代码

标签: python excel pandas function sum


【解决方案1】:

您可以使用 DataFrame.cumsum() 来实现您想要的: import pandas as pd

df = pd.DataFrame([10, 20, 30])
print(df.cumsum())

【讨论】:

    【解决方案2】:

    我会参考pandas cumsum() 例如:

    df['NEW_COLUMN_CUMULATED'] = df['OLD_COLUMN'].cumsum()
    

    【讨论】:

      【解决方案3】:

      根据您分享的示例,使用 pandas.Series.cumsumpandas.Series.ffill

      import pandas as pd
      import numpy as np
      
      df= pd.DataFrame({'Nuber': [10.0, np.NaN, 20.0, np.NaN, np.NaN, 10.0, np.NaN, np.NaN, 30.0]})
      
      df["Sum cont"]= df["Nuber"].cumsum().ffill()
      

      # 输出 :

      print(df)
      
         Nuber  Sum cont
      0   10.0      10.0
      1    NaN      10.0
      2   20.0      30.0
      3    NaN      30.0
      4    NaN      30.0
      5   10.0      40.0
      6    NaN      40.0
      7    NaN      40.0
      8   30.0      70.0
      

      # 编辑 :

      如果您从 Excel 电子表格中读取数据,请使用:

      import pandas as pd
      
      df = pd.read_excel("python inport.xlsx")
      df["Sum cont"]= df["Nuber"].cumsum().ffill()
      

      或这个 :

      import pandas as pd
      
      df = (
              pd.read_excel("python inport.xlsx")
                  .assign(Sum_Count= lambda x: x["Nuber"].cumsum().ffill())
            )
      

      【讨论】:

      • 非常感谢,这很好用。唯一的问题是数据框是从带有pd.read_excel的excel导入的。到目前为止,我试图让它与您的代码一起使用,但没有成功。主要问题是 df["Nuber“] 在 excel 导入中没有像您在示例中那样定义。我会很感激你的帮助。 @abokey
      • 你能用截图展示你的 Excel 电子表格吗?页眉的位置,工作表的名称,..等。是否与i.stack.imgur.com/ZsHLT.png相同?
      • link, @abokey
      • 我对我的答案进行了编辑,请查看 ;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-07
      • 2015-09-09
      • 1970-01-01
      • 2020-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多