首页 > 解决方案 > 如何找到两行的差异并将此结果除以两行的总和?

问题描述

如何找到两行的差异并将此结果除以两行的总和?

以下是如何在 Excel 中执行此操作。

在此处输入图像描述

这是我想使用 Python 复制的公式。

=ABS(((B3-B2)/(B3+B2)/2)/((A3-A2)/(A3+A2)/2))

我知道可以用 来计算差异df.diff(),但我不知道如何求和。

import pandas as pd
data = {'Price':[50,46],'Quantity':[3,6]}
df = pd.DataFrame(data)
print(df)

标签: pythonpython-3.xpandas

解决方案


基本上你已经有了diff然后你已经有两行了sum

diffx[2]-x[1] Then 'sum' : x[2]+x[1]=x[2]*2-(x[2]-x[1])

在您的情况下,总和可以通过

df*2-df.diff()
Out[714]: 
   Price  Quantity
0    NaN       NaN
1   96.0       9.0

所以输出是

(df.diff()/(df*2-df.diff())).eval('abs(Quantity/Price)')
Out[718]: 
0    NaN
1    8.0
dtype: float64

推荐阅读