如何使用shift函数计算Vaex DataFrame中列的百分比变化?
Vaex计算列百分比变化的语法错误解决办法
你写的代码里调用shift的方式有误——Vaex的shift方法需要针对具体列调用,而非直接在DataFrame对象上调用。原代码中df.shift(periods=1)的写法是错误的,这才引发了语法报错。
修正后的代码
import numpy as np import vaex df = vaex.from_arrays(x=np.arange(1,4)) # 对x列调用shift方法,实现百分比变化计算 df.x / df.x.shift(periods=1) - 1
运行结果说明
执行修正后的代码后,会得到符合预期的百分比变化结果:
- 第一行因无前置数据,结果为
NaN - 第二行:
2/1 - 1 = 1.0(对应100%的增长) - 第三行:
3/2 - 1 = 0.5(对应50%的增长)
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

