首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >构建预测熊猫DataFrame

构建预测熊猫DataFrame
EN

Stack Overflow用户
提问于 2020-09-12 00:27:42
回答 1查看 28关注 0票数 0

我在Pandas中有一个DataFrame,其中包含如下所示的预测销售数据:

代码语言:javascript
运行
复制
   | Date  | ProductID | Forecasted_Date | Sales |
---|-------|-----------|-----------------|-------|
 0 | 1_Jan | 1         | 2_Jan           | 10    |
 1 | 1_Jan | 2         | 3_Jan           | 3     |
 2 | 1_Jan | 1         | 2_Jan           | 7     |
 3 | ...   |           |                 |       |
 4 | 2_Jan | 1         | 3_Jan           | 7     |

在每个日期,对于每个ProductId,都会提前1到20天预测销售额( Forecasted_date)。

我想创建一个新的日期,MultiIndexed by "Date,ProductID“,并包含以下列:

代码语言:javascript
运行
复制
| IND_Date | IND_ProductID | F1 | F2   | ... | F20 |
|----------|---------------|----|------|-----|-----|
| 1_Jan    | 1             | 10 | 3    |     |     |
| 1_Jan    | 2             | 7  | etc. |     |     |
| ...      |               |    |      |     |     |
| 2_Jan    | 1             | 7  |      |     |     |

其中,列表示做出预测的天数。(即,对于Date=1_Jan、2_Jan上的F1=Sales )。

在Pandas中构建它的最佳方式是什么?

EN

Stack Overflow用户

发布于 2020-09-12 01:01:12

我想通了。

如果df是我的基本数据帧...

假设Date和Forecasted_Date为Datetime格式,

  1. 以天为单位查找差异:

代码语言:javascript
运行
复制
df['difference'] = (df['Forecasted_Date'] - df['Date']) / pd.Timedelta(1,'D'))

  1. 转换为所需的"f_“格式:

代码语言:javascript
运行
复制
df['forecast_day'] = 'f_' + df['difference'].astype('int').astype('str')

  1. 创建数据透视表

代码语言:javascript
运行
复制
df_forecast = pd.pivot_table(data=df, values="Sales", index=["Date", "Product_ID"], columns="forecast_day", aggfunc="sum")

完成了!

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63850929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档