Pandas,Numpy:如何对数据帧中最后“X”个值求和

2024-09-28 01:28:58 发布

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

在以下条件下,我想求分布的最后X=12(在本例中)值之和:

  1. 如果少于12个值,它将对存在的值进行累积和
  2. 如果有超过12个值,则将最后12个值相加

我一直在使用Numpy cumsum函数进行累积求和,但这是从开始到结束的求和,y_position = np.cumsum(y_EBITDA),我只想要一个累积的“X”个我确定的值

下面我举了一个输入(息税折旧摊销前利润)和输出(息税折旧摊销前利润总和1200万)的例子

EBITDA  Sum EBITDA 12M
1       1
1       2
1       3
1       4
1       5
2       7
4       11
1       12
1       13
1       14
4       18
1       19
1       19
1       19
3       21
1       21
1       21
1       20
1       17
1       17
1       17
1       17
1       14

Tags: 函数numpynpposition条件例子sum利润
2条回答

您需要的是滚动总和:

df['Sum EBITDA 12M'] = df['EBITDA'].rolling(12, min_periods=1).sum()

有(至少)两种方法可以做到这一点。一个带滚动和,另一个带尾部:

方法1:

df.tail(12).sum()

方法2:

df.rolling(12, min_periods=1).sum().iloc[-1]

相关问题 更多 >

    热门问题