gpt4 book ai didi

python - 如何在每次更改日期时重新​​启动的 Pandas 中执行累积计算?

转载 作者:行者123 更新时间:2023-11-28 22:40:13 28 4
gpt4 key购买 nike

这是我的数据的简化版本:

    Date and Time           Price   Volume
0 2015-01-01 17:00:00.211 2030.25 342
1 2015-01-01 17:00:02.456 2030.75 203
2 2015-01-02 17:00:00.054 2031.00 182
3 2015-01-02 17:00:25.882 2031.75 249

我想计算每天的累积量,这样最终的结果会是这样的:

data['cum_Vol'] = data['Volume'].cumsum()

输出:

    Date and Time           Price   Volume cum_Vol
0 2015-01-01 17:00:00.211 2030.25 342 342
1 2015-01-01 17:00:02.456 2030.75 203 545
2 2015-01-02 17:00:00.054 2031.00 182 182
3 2015-01-02 17:00:25.882 2031.75 249 431

请注意,在日期发生变化时如何重新开始计算,而不是执行常规的 cumsum(),在从 2015-01-01 到 2015-01-02 的示例中。

最佳答案

最简单的方法可能是将“日期和时间”设置为索引,然后使用 groupbyTimeGrouper 对日期进行分组。然后你可以应用cumsum():

>>> df2 = df.set_index('Date and Time')
>>> df2['Volume'] = df2.groupby(pd.TimeGrouper('D'))['Volume'].cumsum()
>>> df2
Price Volume
DateandTime
2015-01-01 17:00:00.211 2030.25 342
2015-01-01 17:00:02.456 2030.75 545
2015-01-02 17:00:00.054 2031.00 182
2015-01-02 17:00:25.882 2031.75 431

之后您可以随时重新设置索引。

关于python - 如何在每次更改日期时重新​​启动的 Pandas 中执行累积计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33926947/

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