gpt4 book ai didi

python - 在未捕获数据的情况下,将值为 0 的周添加到包含时间序列数据的 pandas 数据框中

转载 作者:太空宇宙 更新时间:2023-11-03 20:18:20 24 4
gpt4 key购买 nike

我有按周分组的交易数据。但是,我不能保证每周都有数据。 Group by 做得很好,以 0 数量填补了第一周和上周之间缺失的几周。但是,我需要用截至本周的值填充我的数据框。

我的数据存储在日期框架 dfShipsInScope 中,我已使用以下代码将数据转换为每周数据:

dfShipsInScope['START_TIME'] = pd.to_datetime(dfShipsInScope['START_TIME'])
dfShipsInScope=dfShipsInScope[['START_TIME','X']].groupby('START_TIME').sum()
dfShipsInScope=dfShipsInScope.resample(rule = 'W-SAT').sum()
dfShipsInScope.index.freq='W-SAT'

输出如下:

            X
START_TIME
2019-09-14 3.000
2019-09-21 0.000
2019-09-28 1.500

我需要添加 X=0 的 2019-10-05 和 2019-10-12 周,以便数据框反射(reflect)截至今天的几周。在某些情况下,我需要添加几周的零,因此我正在寻找有效的解决方案。有人知道这样做的好方法吗?

最佳答案

您可以使用 pd.date_range 重新索引输出

在:

df.reindex(
pd.date_range(start=df.index.min(),
end=pd.to_datetime('today') + pd.offsets.Week(),
freq='W-SAT')).fillna(0)

输出:

|            | X   |
|------------|-----|
| 2019-09-14 | 3.0 |
| 2019-09-21 | 0.0 |
| 2019-09-28 | 1.5 |
| 2019-10-05 | 0.0 |
| 2019-10-12 | 0.0 |

关于python - 在未捕获数据的情况下,将值为 0 的周添加到包含时间序列数据的 pandas 数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58312579/

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