Dask DataFrame如何基于下一行currentPrice新增succPrice列
Dask DataFrame 新增succPrice列实现方案
实现逻辑
你需要的效果等价于将currentPrice列向上偏移1行,Dask提供了和Pandas兼容的shift方法直接实现该需求,全程分布式计算,支持超大数据量。
前提注意
必须保证你的Dask DataFrame行顺序符合业务预期,shift操作完全依赖行的先后顺序。
代码实现
# periods=-1 代表列值向上偏移1行,即取当前行下一行的currentPrice值 df["succPrice"] = df["currentPrice"].shift(periods=-1)
结果说明
- 普通行的succPrice自动匹配下一行的currentPrice,符合你的示例要求
- 最后一行没有下一行数据,succPrice会自动赋值为NaN,符合逻辑
- 无论你的Dask DataFrame是单分区还是多分区,该方法都能自动处理跨分区的边界数据,不需要额外手动调整分区
内容的提问来源于stack exchange,提问作者Invictus
相关产品推荐
相关产品推荐

