通过lambda计算百分比变化的Python数据帧

通过lambda计算百分比变化的Python数据帧,python,pandas,lambda,Python,Pandas,Lambda,如何使用lambda计算python数据帧中的百分比变化。 数据帧: 我想计算每行的体积变化百分比 结果应该是: 我试过: df.Volume.map(λx:((df.Volume.iloc[i+1])-x)/x,i) 但结果并不正确。 如何在lambder表达式中执行:当前值-上一个值或下一个值-当前值? p、 我知道pct.change()是一种可以轻松计算百分比变化的方法 在我尝试shift()之后: 使用数据帧的shift方法: >>> df['Volume_pc

如何使用lambda计算python数据帧中的百分比变化。 数据帧:

我想计算每行的体积变化百分比 结果应该是:

我试过: df.Volume.map(λx:((df.Volume.iloc[i+1])-x)/x,i) 但结果并不正确。 如何在lambder表达式中执行:当前值-上一个值或下一个值-当前值? p、 我知道pct.change()是一种可以轻松计算百分比变化的方法


在我尝试shift()之后:

使用数据帧的
shift
方法:

>>> df['Volume_pct1'] = (df.Volume - df.Volume.shift(1)) / df.Volume.shift(1)

使用数据帧的
shift
方法:

>>> df['Volume_pct1'] = (df.Volume - df.Volume.shift(1)) / df.Volume.shift(1)

可能是一个开始的好地方你可以使用(df['Volume']-df['Volume'].shift())/df['Volume'].shift()可能是一个开始的好地方你可以使用(df['Volume']-df['Volume'].shift())/df['Volume'].shift(),但是我怎样才能把它变成一个lambda表达式?@M.THY,为什么要用大锤敲碎一个螺母?但我怎么才能把它变成lambda表达式?@M.THY,为什么要用大锤敲螺母?