Python 计算数据帧中的斜率
这个问题只是关于计算数据帧中每个时间步的斜率。这里有很多额外的细节,欢迎您阅读或不阅读,但这一步就是我所寻找的全部 我有一个预测和一个观测数据框。我试图计算预测中“有趣”的变化 我希望通过以下方式实现这一目标:Python 计算数据帧中的斜率,python,pandas,Python,Pandas,这个问题只是关于计算数据帧中每个时间步的斜率。这里有很多额外的细节,欢迎您阅读或不阅读,但这一步就是我所寻找的全部 我有一个预测和一个观测数据框。我试图计算预测中“有趣”的变化 我希望通过以下方式实现这一目标: 计算观测数据的最佳拟合(即线性回归) 找到它的斜坡 找出观测数据每个时刻的斜率和斜率之间的差异 为此,我需要在时间序列的每个时刻生成斜率 计算STDEV和该差值的平均值 使用它为预测DF中的值生成z分数 如何计算数据中每个点的坡度 起初的 要“计算数据中每个点的斜率”,最简单的方
- 计算观测数据的最佳拟合(即线性回归)
- 找到它的斜坡
- 找出观测数据每个时刻的斜率和斜率之间的差异
- 计算STDEV和该差值的平均值
- 使用它为预测DF中的值生成z分数李>
Series.diff()
计算每个相邻行的“上升超过行程”,如下所示。由此产生的序列给出(估计)上一行和当前行之间的瞬时变化率(IROC)
iroc = original[app].diff() / original['date'].diff()
此外,您不需要应用。得益于numpy矢量化,标量-数组
的行为符合预期:
delta = slope - iroc
希望这能奏效。正如文本所评论的那样,查看实际数据和您的预期输出将非常有帮助。您想向我们展示样本数据和预期输出吗?所有的数字都是标准化的——它们都是介于0和1之间的值。我在文章中增加了很多清晰度。。。我不认为具体的数字是重要的。。[0,0.5,2,3.5,4.5,5.5,6,6.5,8,9],[10.2,11.4,12,16,13.5]将是良好的输入值。。。得到一个只有16个的集合将是预期的结果。我认为这看起来很优雅,很完美,但是当我应用它,然后计算zscores:original['z']=delta.apply(lambda x:x-odm/ods)
该范围内的最小值和最大值都是负值。那是不可能的,对吗?它们应该正态分布在0附近,只需要括号就可以获得正确的操作顺序:)lambda x:(x-odm)/ods
。这也可以在不使用apply(lambda)
的情况下实现。
delta = slope - iroc