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