Pandas分钟数据可变长度窗口寻找最小值从现在开始关闭tim

2024-09-30 14:27:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个dataframe对象,有1分钟的数据。 例如(假设时间戳在索引中或不在索引中)。。(无论哪种方式)

timestamp               date        price    endofdaytime
2018-03-11 13:03:00     2018-03-11  20.03   2018-03-11 16:29:52
2018-03-11 13:08:00     2018-03-11  19.00   2018-03-11 16:29:52
2018-03-11 15:22:00     2018-03-11  20.11   2018-03-11 16:29:52
2018-03-11 16:03:00     2018-03-11  21.03   2018-03-11 16:29:52
2018-03-11 16:29:52     2018-03-11  20.03   2018-03-11 16:29:52
2018-03-12 13:03:00     2018-03-12  20.03   2018-03-12 16:29:59
2018-03-12 13:08:00     2018-03-12  19.00   2018-03-12 16:29:59
2018-03-12 16:03:00     2018-03-12  21.03   2018-03-12 16:29:59
2018-03-12 16:29:59     2018-03-12  22.00   2018-03-12 16:29:59

我想添加一个名为low2close的列 其中每行取当前时间到一天结束的最小值(价格)。我还没有弄清楚如何获取变量loc窗口并在其上运行聚合函数(如min)。有什么想法吗


Tags: 数据对象函数dataframedate方式时间价格
1条回答
网友
1楼 · 发布于 2024-09-30 14:27:57

我认为你需要在用[::-1]反转数据后使用^{}(然后重新转换顺序),全部在transform之后使用groupby,例如:

df['low2close'] = df.groupby('date')['price'].transform(lambda x: x[::-1].cummin()[::-1])

它给出了从当前行到同一天结束的最小值

            timestamp        date  price        endofdaytime  low2close
0 2018-03-11 13:03:00  2018-03-11  20.03 2018-03-11 16:29:52      19.00
1 2018-03-11 13:08:00  2018-03-11  19.00 2018-03-11 16:29:52      19.00
2 2018-03-11 15:22:00  2018-03-11  20.11 2018-03-11 16:29:52      20.03
3 2018-03-11 16:03:00  2018-03-11  21.03 2018-03-11 16:29:52      20.03
4 2018-03-11 16:29:52  2018-03-11  20.03 2018-03-11 16:29:52      20.03
5 2018-03-12 13:03:00  2018-03-12  20.03 2018-03-12 16:29:59      19.00
6 2018-03-12 13:08:00  2018-03-12  19.00 2018-03-12 16:29:59      19.00
7 2018-03-12 16:03:00  2018-03-12  21.03 2018-03-12 16:29:59      21.03
8 2018-03-12 16:29:59  2018-03-12  22.00 2018-03-12 16:29:59      22.00

相关问题 更多 >