gpt4 book ai didi

python - Pandas - 取 N 个以前的值并从 Series 中创建矩阵

转载 作者:行者123 更新时间:2023-12-04 03:56:38 24 4
gpt4 key购买 nike

假设我有这个系列:

S = pd.Series([1,1,2,3,5,8,13,21,34])

我想将它转换为一个矩阵,其中每一行将包含最后的 N(比方说:5)个值。

所以输出应该是:

[[NaN,NaN,NaN,NaN,NaN],
[NaN,NaN,NaN,NaN, 1],
[NaN,NaN,NaN, 1, 1],
[NaN,NaN, 1, 1, 2],
[NaN, 1, 1, 2, 3],
[ 1, 1, 2, 3, 5],
[ 1, 2, 3, 5, 8],
[ 2, 3, 5, 8, 13],
[ 3, 5, 8, 13, 21]]

我尝试过使用rolling,但没有弄清楚如何获得预期的结果。

最佳答案

shiftconcat

out = pd.concat([S.shift(x) for x in range(1,6)[::-1]],1)
Out[124]:
0 1 2 3 4
0 NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN 1.0
2 NaN NaN NaN 1.0 1.0
3 NaN NaN 1.0 1.0 2.0
4 NaN 1.0 1.0 2.0 3.0
5 1.0 1.0 2.0 3.0 5.0
6 1.0 2.0 3.0 5.0 8.0
7 2.0 3.0 5.0 8.0 13.0
8 3.0 5.0 8.0 13.0 21.0

关于python - Pandas - 取 N 个以前的值并从 Series 中创建矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63767299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com