gpt4 book ai didi

python-3.x - 在文本列上使用 Pandas 滚动功能

转载 作者:行者123 更新时间:2023-12-02 19:53:24 24 4
gpt4 key购买 nike

我有一个 pandas 数据框,其中包含字符串格式的列值和日期时间索引。我想创建一个新列,其中包含过去两天的列值列表。使用 pandas 可以实现这一点吗?

原始数据农场:

        date col1 col2
0 2018-07-08 a b
1 2018-07-09 c d
2 2018-07-10 e f
3 2018-07-11 g h
4 2018-07-12 i j
5 2018-07-13 k l
6 2018-07-14 m n

最终数据框:

        date col1 col2  col3
0 2018-07-08 a b NaN
1 2018-07-09 c d NaN
2 2018-07-10 e f b, d
3 2018-07-11 g h d, f
4 2018-07-12 i j f, h
5 2018-07-13 k l h, j
6 2018-07-14 m n j, l

最佳答案

df.iloc[:,2].shift(2)+ ',' +df.iloc[:,2].shift(1)

编辑

我们可以将其扩展到更通用的设置,

定义自定义滚动连接函数,

rolling_cat = lambda s, n: pd.Series(zip(*[s.shift(x+1) for x in range(n)])).str.join(',')

应用函数

rolling_cat(df.iloc[:,2], n=2)

关于python-3.x - 在文本列上使用 Pandas 滚动功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57657233/

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