gpt4 book ai didi

python - 如何有效地更改 Pandas 中 DataFrame 的数据布局?

转载 作者:行者123 更新时间:2023-12-04 05:45:04 28 4
gpt4 key购买 nike

我有一个 DataFrame 的值排列在两列中,请参见表 T1 .想以某种方式重新排列值以创建数据布局,如表 所示T2 . 中的行T2 通过转置值的“滑动窗口”,向下移动列 创建表中 T1 . Pandas 有什么聪明的方法可以有效地做到这一点吗?

T1              T2

a | b A | B | C | D
------ ---------------
41 | 5 41 | 42 | 43 | 7
42 | 6 42 | 43 | 44 | 8
43 | 7 --> 43 | 44 | 45 | 9
44 | 8 44 | 45 | .. | .
45 | 9 45 | .. | .. | .
.. | . .. | .. | .. | .
.. | . .. | .. | .. | .

最佳答案

您可以使用 as_strided :

from numpy.lib.stride_tricks import as_strided

window = 3
stride = df['a'].values.strides[0]

pd.DataFrame(as_strided(df['a'].values,
shape=(len(df) - window + 1, window),
strides = (stride,stride))
)

输出:
     0   1   2
0 41 42 43
1 42 43 44
2 43 44 45

关于python - 如何有效地更改 Pandas 中 DataFrame 的数据布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58862274/

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