过于复杂的表达式来计算Pandas系列的变化

时间:2013-12-11 06:55:13

标签: python pandas

我试图在Pandas DataFrame中找到一系列的日志更改(即一点与下一点之间的算术变化)。虽然这段代码有效,但似乎过于复杂;当然,我做的事情很糟糕,有一种更简单的方法吗?

df['Change'] = (lambda x: x.sub(x.shift(1)))(df['stat'].map(lambda x: math.log(x)))

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用numpy(矢量化)对数与panda的diff

>>> df['Change'] = np.log(df['stat']).diff()