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

如何在Pandas DataFrame中无需迭代行,基于其他行创建新列V?

在Pandas DataFrame中创建基于相邻行计算的新列

可以直接使用Pandas的shift()方法实现,无需迭代行——这是Pandas推荐的向量化操作方式,效率远高于逐行迭代:

import pandas as pd

# 假设你的DataFrame为df
df['V'] = df['x'] - df['x'].shift(-1)

方法说明

  • df['x'].shift(-1)会将x列的所有数据向上偏移一行,让当前行的x值和下一行的x值自然对齐,直接做减法就能得到目标结果。
  • 最后一行因为没有对应的下一行数据,计算结果会是NaN。如果需要处理这个值,可以根据需求选择:
    • 用固定值填充:df['V'] = df['x'] - df['x'].shift(-1).fillna(0)
    • 删除含NaN的行:df = df.dropna(subset=['V'])

示例验证

针对你给出的数值:当前行x值93.244598减去下一行x值93.093285,通过上述代码会直接得到预期结果0.151313。

内容的提问来源于stack exchange,提问作者Mark B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 01:06:25