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

Pandas DataFrame两列插值:按x列步长补全后逐段插值y列值

逐段两点插值实现方案

你需要的逐段相邻点插值可以通过Pandas原生的reindex+interpolate组合实现,完全不会触发全量数据拟合,仅在每两个相邻原始点之间做线性插值,代码如下:

首先导入依赖:

import pandas as pd
import numpy as np

完整实现代码

# 示例输入
df = pd.DataFrame({'x':[1,3,5],'y':[10,30,50] })
# 定义固定步长
step = 1

# 第一步:补全x列固定步长值
# 生成覆盖x范围的固定步长序列
full_x = np.arange(df['x'].min(), df['x'].max() + step, step)
# 将x设为索引后重采样到完整x序列,重置索引后得到补全x的结果
df = df.set_index('x').reindex(full_x).reset_index()
print("第一步补全x后的结果:")
print(df)

# 第二步:逐段相邻两点插值y
# method='linear'默认仅在相邻非空值之间做线性插值,无全局拟合
df['y'] = df['y'].interpolate(method='linear')
print("最终插值结果:")
print(df)

方案说明

  • Pandas的interpolate(method='linear')默认仅在相邻的两个有效原始数据点之间做线性插值,不会对全量数据做全局拟合,每一段的插值计算仅用到当前段的首尾两个原始值,完全符合需求
  • 只需要修改step参数即可适配不同的固定步长要求,不需要改动其他逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:36:06