python - 循环一段时间后重新计算拟合参数
问题描述
我有一个类似于下面显示的数据框,我想知道如何在每设定天数循环并计算拟合参数。例如,我希望能够输入 30 天,并且能够获得前 30 天的新常量,然后是前 60 天,依此类推,直到日期范围结束。
ID date amount delta_t
1 2020/1/1 10.2 0
1 2020/1/2 11.2 1
2 2020/1/1 12.3 0
2 2020/1/2 13.3 1
我希望将参数存储在另一个数据帧中,这是我目前对整个数据集所做的,但这是在整个时间段而不是 n 天块。然后使用每个设定周期的常数计算图表点并绘制它们。
现在我正在使用 groupby 按 ID 对井进行分组,然后使用 apply 方法计算每个 ID 的常数。这适用于整个数据框,但如果我只使用 30 天的周期,常量将会改变。
我不知道在 apply 方法中是否有一种方法可以更轻松地执行此操作并将常量输出到新列或每个 ID 一行的单独数据帧。非常感谢任何输入。
def parameters(x):
variables, _ = curve_fit(expo, x['delta_t'], x['amount'])
return pd.Series({'param1': variables[0], 'param2': variables[1], 'param3': variables[2]})
param_series = df_filt.groupby('ID').apply(parameters)
解决方案
推荐阅读
- javascript - 避免在打字稿中添加字符串和数字?
- javascript - JavaScript - Babel - 文字无法识别
- azure - azure powershell Get-Azurermresource,如何获取特定资源的唯一 ID
- mysql - 编写这个mysql查询的正确方法是什么?"SELECT SUM(buyingPrice-(buyingPrice*10/100))"
- android - 如何在 Kotlin 中解析 Mapbox 反向地理编码的响应
- ios - 如何等待已在运行的函数完成
- android - android 下载管理器未将文件存储在外部 SD 卡上,并且无法在 Android PIE OS9 上执行状态为 403 的请求
- django - 如何解决django CustomUser在迁移中的双重行为问题?
- html - 如何在编辑时禁用点击
- mysql - 无法首先使用 MySQL 生成具有实体框架数据库的模型