【发布时间】:2021-03-24 06:41:00
【问题描述】:
我开始使用 Pandas,但遇到了一些我真的不知道如何解决的问题。
我有一个包含日期、产品、库存和销售额的数据框。缺少某些日期和产品。我想在一个日期范围内为每个产品获取一个时间序列。
例如:
product udsStock udsSales
date
2019-12-26 14 161 848
2019-12-27 14 1340 914
2019-12-30 14 856 0
2019-12-25 4 3132 439
2019-12-27 4 3177 616
2020-01-01 4 500 883
所有产品的范围必须相同,即使一个产品没有出现在该范围内的某个日期。
如果我想要 2019-12-25 到 2020-01-01 的范围,最终的数据帧应该是这样的:
product udsStock udsSales
date
2019-12-25 14 NaN NaN
2019-12-26 14 161 848
2019-12-27 14 1340 914
2019-12-28 14 NaN NaN
2019-12-29 14 NaN NaN
2019-12-30 14 856 0
2019-12-31 14 NaN NaN
2020-01-01 14 NaN NaN
2019-12-25 4 3132 439
2019-12-26 4 NaN NaN
2019-12-27 4 3177 616
2019-12-28 4 NaN NaN
2019-12-29 4 NaN NaN
2019-12-30 4 NaN NaN
2019-12-31 4 NaN NaN
2020-01-01 4 500 883
我尝试按范围重新索引,但它不起作用,因为有相同的索引。
idx = pd.date_range('25-12-2019', '01-01-2020')
df = df.reindex(idx)
我也尝试过按日期和产品索引,然后重新索引,但我不知道如何放置丢失的产品。
还有什么想法吗?
提前致谢
【问题讨论】:
标签: python pandas dataframe time-series