You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas高效计算DataFrame相邻元素的差值?

Pandas快速计算DataFrame相邻行差分的方法

首先纠正你代码里的一个小问题:np.random.random的参数需要是元组,所以正确的DataFrame创建代码应该是:

import pandas as pd
import numpy as np

df = pd.DataFrame(data=np.random.random((10,10)))

要实现你要的diff[i] = df[i] - df[i-1]的需求,完全不需要写循环,Pandas内置了高效的向量化方法diff(),一行代码就能搞定:

diff = df.diff()

说明:

  • diff()方法默认按行方向(axis=0)计算差分,也就是每一行元素减去它的上一行对应元素,完全符合你的要求。
  • 结果的第一行会是NaN,因为没有“上一行”可以用来计算差值,这是合理的默认行为。如果需要移除这一行,可以用diff = df.diff().dropna();如果需要填充NaN,可以用diff = df.diff().fillna(0)(或其他你需要的填充值)。

这个方法是Pandas底层优化的向量化操作,比循环快几个数量级,不管你的DataFrame多大,扩展性都拉满。

内容的提问来源于stack exchange,提问作者the.lotuseater

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 17:45:32