python - 如何找到两行的差异并将此结果除以两行的总和?
问题描述
如何找到两行的差异并将此结果除以两行的总和?
以下是如何在 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)
解决方案
基本上你已经有了diff
然后你已经有两行了sum
自
diff
:x[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
推荐阅读
- java - 联系人选择器在 Android 11 上不起作用
- jmeter - JMeter - 添加正文数据时无法单击参数选项卡
- google-sheets-formula - 在 google 表格中使用 where 扩展查询或在公式中过滤
- typescript - 在多个文件中使用时,导入的模块值未定义与玩笑
- react-native - ReferenceError:找不到变量:useState - React Native
- java - g.drawString() / g2D.drawString() 有更好的替代方案吗?(解决了)
- javascript - Javascript正则表达式来分隔单词
- docker - 'docker stop' 对已建立的 tcp 连接的影响
- python - pandas Series.replace() 没有从 defaultdict 生成默认值
- javascript - Jquery 无法在按钮数组上分配 onclick