python - Pandas Resample 可以用于不同的日期范围吗?
问题描述
嗨,我有一个关于 Pandas 重采样的问题。
在我的数据中,我的日期范围从 2018 年 12 月 31 日到 2019 年 3 月 25 日,间隔为 7 天(例如 31/12/2018、7/1/2019、14、2019 等),我想将与这些日期对应的销售重新采样到新的日期范围,例如 30/4/2020 到 24/9/2020,之前使用的间隔为 7 天。有没有办法使用熊猫重采样功能来做到这一点?如图所示,我想从左侧的数据框中重新采样销售额并填充右侧的数据框。需要说明的是:左侧数据框由 13 行组成,右侧数据框由 22 行组成。
解决方案
可以从旧值创建新数据框,由于长度不同,因此需要“索引”。如果您愿意,也可以应用 df2.fillna(0)。
df2= pd.DataFrame( {"date": pd.date_range("2020-04-30",freq="7D",periods=22), "sales":df1.sales},index=np.arange(22) )
或不使用“索引”:
df2= pd.DataFrame( {"date": pd.date_range("2020-04-30",freq="7D",periods=22), "sales": np.concatenate([df1.sales.values,np.zeros(9)])})
推荐阅读
- css - 谷歌在上面映射 iframe 类封面文字并且不尊重维度
- python - 在 Pandas 中填充两个相邻行值之间的插值
- c - 无法弄清楚二分搜索算法出错的地方
- python - Python 打印矩阵
- javascript - 地图如何在内存中初始化
- javascript - 在上下文的创建阶段提升是如何工作的
- python - 在 Sagemaker 上使用 TensorFlow 的 Python 3
- talend - 备份项目文件 7.0 到 6.2 版本(用于数据集成的 Talend Open Studio)
- javascript - 在表中加载更多带有 javascript xml 数据的按钮
- spring - 控制器参数的 Spring 注释包装器