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

如何为DataFrame按样本分组创建当日与前日高度的差值列

实现方案

你可以用pandas库快速实现这个需求,核心逻辑是按样本分组后计算相邻行的高度差,完整代码如下:

import pandas as pd

# 读取数据集,可替换为你本地的csv文件路径
df = pd.read_csv("sample_data.csv")

# 转换日期格式并按样本+日期升序排序,保证时间顺序正确
df["Date"] = pd.to_datetime(df["Date"], format="%m/%d/%Y")
df = df.sort_values(by=["Sample", "Date"], ignore_index=True)

# 按样本分组,计算当日高度 - 前一日高度的差值
df["height_diff"] = df.groupby("Sample")["Height"].diff(periods=1)

# 筛选出有差值的记录(过滤掉首日无前置数据的空值行)
result_df = df.dropna(subset=["height_diff"])[["Sample", "height_diff"]]

# 按你需要的格式输出结果
for _, row in result_df.iterrows():
    print(f"{row['Sample']}  = {row['height_diff']}")

说明

  • groupby('Sample')确保差值只会在同一个样本的不同日期记录之间计算,不会出现跨样本计算的问题
  • 代码兼容多于两天的数据集,会自动计算每一日相对前一日的高度差
  • 你给出的预期结果里的08是输入笔误,实际输出为O8 = 0.0

内容的提问来源于stack exchange,提问作者Leo Torres

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:30:02