Python 将DataFrame的最后n行添加到新列中

Python 将DataFrame的最后n行添加到新列中,python,pandas,dataframe,Python,Pandas,Dataframe,我想添加一个数据帧的最后4个数字,输出将追加到一个新的列中,我已经使用for循环来完成这项工作,但是如果有很多行,速度会慢一些。有没有一种方法可以使用df.apply(lamda x:)来实现这一点 **Sample Input: values 0 10 1 20 2 30 3 40 4 50 5 60 Output: values result 0 10 10 1 20 30 2 30 60 3 40

我想添加一个数据帧的最后4个数字,输出将追加到一个新的列中,我已经使用for循环来完成这项工作,但是如果有很多行,速度会慢一些。有没有一种方法可以使用df.apply(lamda x:)来实现这一点

**Sample Input: 
    values
0   10
1   20
2   30
3   40
4   50
5   60

Output:
   values result
0   10     10 
1   20     30   
2   30     60
3   40     100
4   50     140
5   60     180**
使用

加在一起:

>>> df.assign(results=df.rolling(4, min_periods=1).sum().astype(int))
   values  results
0      10       10
1      20       30
2      30       60
3      40      100
4      50      140
5      60      180
6      70      220
7      80      260
8      90      300
使用

加在一起:

>>> df.assign(results=df.rolling(4, min_periods=1).sum().astype(int))
   values  results
0      10       10
1      20       30
2      30       60
3      40      100
4      50      140
5      60      180
6      70      220
7      80      260
8      90      300
滚动()可能是您想要的。滚动()可能是您想要的