我现在开始学习熊猫,并努力用它完成一项任务。我试图做的是通过组合两个连续的行并增加它们之间的重叠来增加存储在数据帧中的数据。就像一扇滚动的窗户
我相信这个问题可以用这个小数据框来说明:
df = pd.DataFrame([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], columns=['A', 'B', 'C', 'D'])
其中:
A B C D
0 1 2 3 4
1 5 6 7 8
2 9 10 11 12
有了它,我想实现但不知道如何实现的是一个数据帧,如下一个:
A B C D
0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
6 7 8 9 10
7 8 9 10 11
8 9 10 11 12
就像我们在每对初始数据帧之间使用多个滚动窗口一样。请注意,我没有使用这个特定的数据帧(这些值并不像1,2,3,4…)那样按顺序排列。我使用的是从csv导入的通用数据帧
这可能吗?提前谢谢
编辑
感谢所有的回复。anky和Shubham Sharma给出的两个答案都很完美。以下是在我的真实数据帧中使用这两种方法得到的结果:
可能没有那么优雅,但请尝试:
您可以使用numpy完成所有举重,然后将生成的矩阵放入数据帧中
让我们试试
rolling
和numpy
:相关问题 更多 >
编程相关推荐