python - 如何组合长度不等的数据帧
问题描述
我们对数据的每日预测如下所示:
df_test_daily['prediction'].head()
Datetime
2014-09-26 343.434258
2014-09-27 346.512980
2014-09-28 349.591701
2014-09-29 352.670422
2014-09-30 355.749144
我们还有平均每小时比率(0-23 小时)。
hourly_frac.head()
Hour ratio
0 0 0.044287
1 1 0.035343
2 2 0.029911
3 3 0.024714
4 4 0.020802
我们如何使用平均每小时比率与每日数据来获得每小时预测。
比如说 2014-09-26,预测是 343。现在平均小时比率必须乘以 343 才能生成 24 小时数据或预测。
预期输出:
df_test_hourly['prediction']
Datetime
2014-09-26 00:00:00 X1
2014-09-26 01:00:00 X2
2014-09-26 02:00:00 X3
2014-09-26 03:00:00 X4
2014-09-26 04:00:00 X5
...
2014-09-26 23:00:00 X23
解决方案
您将需要合并两个数据框以获取具有所有Datetime-Hr
可能组合的新数据框:
df_preds = df_test_daily.assign(key=1).merge(df_hours.assign(key=1)).drop('key', axis=1)
然后你可以很容易地计算出每天每一小时的预测:
df_preds['hourly_prediction'] = df_preds['prediction'] * df_preds['ratio']
推荐阅读
- jsp - 如何将 scriptlet 值从 JSP 传递到 Servlet
- ios - 应用程序因使用“prefs:root=”非公共 URL 方案而被拒绝
- c# - 调用 SolidColorBrush
- c - 在 open62541 中将内存变量从服务器发送到客户端
- tortoisegit - TortoiseGit:如何重新打开变基对话框/会话
- javascript - 如何将对象传递给 React JS 中的处理程序?
- javascript - 无法读取未定义的属性“totalQty”
- scala - 未找到:控制器上的值以上传文件
- r - 循环列值以捕获非零值
- javascript - 在 React/Redux 中导航组件而不使用路由