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

如何在Pandas DataFrame中实现面板数据的差分操作

用pandas内置的diff()方法就能直接实现,不需要额外安装第三方库,你要的分组计算不同商品的价格一阶差分,一行核心代码就能搞定。

完整实现代码

import pandas as pd

# 构造你的样例数据
df = pd.DataFrame({
    'Day': [1,2,3,4,5,1,2,3,4,5],
    'Price': [8,10,7,11,14,12,11,9,14,11],
    'Good': ['apples']*5 + ['oranges']*5
})

# 核心逻辑:按商品分组后对Price列计算一阶差分,生成新列P1d
df['P1d'] = df.groupby('Good')['Price'].diff(periods=1)

# 输出查看结果
print(df)

说明

  • 必须加上groupby('Good')分组逻辑,否则会把橙子第一天的价格和苹果最后一天的价格计算差值,得到错误结果
  • diff()的periods参数为差分的步长,默认值为1即一阶差分,要计算多阶差分调整这个参数即可
  • 每组第一条数据没有前值,默认返回NaN,和你预期的NA结果一致

内容的提问来源于stack exchange,提问作者Agustin Jornet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 21:36:06