dataframe 使用拉格朗日插值填充缺失值
本例中代码使用 jupyter 运行问题场景在处理dataframe时可能会遇到少量数据缺失的情况在连续缺失数据较少的情况可以考虑插值填充。本文调用了scipy库的lagrange(x,y)这个函数参数x,y分别是对应各个点的x值和y值函数返回一个对象即插值函数。lagrange(x,y)的具体描述可参考佐佑思维的博文。本文就如何定位缺失值并统一使用拉格朗日插值填充缺失值的原理进行详细说明。不想看原理的可以直接跳到“函数封装”实现原理假设数据格式如上绿色代表非空值灰色代表nan值。step 1.数据预处理将dataframe的缺失值统一用np.nan进行替换step 2.对于每一列数据获取缺失值的indexstep 3.顺序定位每一个缺失值对每个缺失值指定向前和向后分别获取k个数据及其index并使用这2k个数据和index值构建拉格朗日插值函数输入缺失值得index获得插值结果step 4.重复循环【注意】向前和向后获取数据时有如下特殊情况①向前取k个值但是 缺失值前的数据数量 k此时有多少数据就取多少②向后取k个值这里的取的值要是非空值碰到空值就跳过③向后取k个值碰到空值就跳过然后一直跳到数据尾行都没有取够k个此时也是有多少取多少。函数封装:deflagrange_value(data,k2):# 输入需处理的数据空值用nan填充k是空值前后取得数据个数df1data.copy(deepTrue)forcolindf1.columns:# 取每一列col_datadf1[col]col_nancol_data[col_data.isnull()]# 取每一列缺失值col_nan_listcol_nan.index# 取每一列缺失值的indexfornincol_nan_list:# 对每一列缺失值index进行遍历定位需要插值的位置list1list(range(n-k,n))# 缺失值前取k个值iflist1[0]col_data.index[0]:# 判断缺失值前是否有k个值没有的话就有多少取多少list1list(range(col_data.index[0],n))list2col_data[n:]# 缺失值后取k个非空值list2list2[list2.notnull()]list2list(list2[0:k].index)ycol_data[list1list2]# 取数df1[col][n]lagrange(y.index,list(y))(n)# 填充缺失值returndf1函数要输入需处理的数据空值用nan填充和k —— 空值前后取的数据个数示例:导入所需的包简单创建一个dataframeimportpandasaspdimportnumpyasnpfromscipy.interpolateimportlagrange# 生成数据NaNnp.nan datapd.DataFrame({SO2:[10,5,5,NaN,9,NaN,NaN,NaN],NO2:[12,NaN,NaN,10,10,23,15,9],CO2:[15,23,NaN,24,25,NaN,NaN,NaN],O3:[17,23,33,NaN,NaN,NaN,5,22]})调用一下函数lagrange_value(data,k2)补充需要说明的是本文编写的代码对数据格式有一定要求数据预处理阶段需要reset_index以保证dataframe的索引值顺序且连续。

相关新闻

LMX9838蓝牙模块SPP连接全流程解析与实战避坑指南

LMX9838蓝牙模块SPP连接全流程解析与实战避坑指南

1. 项目概述与核心价值如果你正在为一个嵌入式项目寻找一种稳定、可靠的无线串口通信方案,那么蓝牙串口协议(SPP)几乎是绕不开的选择。它不像那些花哨的音频或文件传输协议,SPP的核心价值就两个字:透明。它把复杂的蓝牙…

2026/10/17 6:15:24 阅读更多 →
LMX9838蓝牙模块NVS配置与测试模式实战指南

LMX9838蓝牙模块NVS配置与测试模式实战指南

1. LMX9838 NVS配置与测试模式核心价值解析在嵌入式蓝牙开发领域,尤其是面对德州仪器(TI)的LMX9838这类经典蓝牙2.0EDR模块时,如何高效、可靠地管理其启动参数和运行配置,是决定产品稳定性和后期维护便利性的关键。很多…

2026/10/16 11:13:50 阅读更多 →
非常经典且极具迷惑性的 Oracle 报错场景总结,Oracle 数据库中 @ 符号的用法及跨库查询方法,Hive 中测试表是否有数据的几种常用方法

非常经典且极具迷惑性的 Oracle 报错场景总结,Oracle 数据库中 @ 符号的用法及跨库查询方法,Hive 中测试表是否有数据的几种常用方法

本文介绍了Oracle数据库中符号的用法及跨库查询方法。符号用于表示数据库链接(Database Link),允许从当前数据库访问远程数据库对象,语法为"SELECT * FROM 表名数据库链接名"。文章详细说明了如何在多数据库环境下定位表…

2026/10/15 18:38:50 阅读更多 →

最新新闻

相关系数与决定系数:别再混淆,一文讲透模型评估核心指标

相关系数与决定系数:别再混淆,一文讲透模型评估核心指标

1. 从一个让人困惑的结论说起:相关系数高,模型就一定准吗很多人第一次接触统计建模时,都会经历这样一个场景:辛辛苦苦跑完一组数据,软件输出一个相关系数0.85,心里一阵激动,觉得变量之间的关系已…

2026/10/17 11:36:30 阅读更多 →
Agent编排实战:从单Agent瓶颈到多Agent协作的工程化指南

Agent编排实战:从单Agent瓶颈到多Agent协作的工程化指南

这两年做大模型应用,我越来越觉得,单Agent已经不太够用了。早期的时候,一个Agent塞一个超长Prompt,让它一口气完成“收集资料-分析-写报告-校对-排版”,结果经常是前面步骤一错,后面全崩,而且跑…

2026/10/17 11:36:30 阅读更多 →
Tableau合成桑吉图的底层逻辑与三大支柱字段构建

Tableau合成桑吉图的底层逻辑与三大支柱字段构建

1. 桑吉图不是“画出来的”,而是“搭出来的”——Tableau里最常被误解的可视化逻辑很多人第一次在Tableau里尝试做桑吉图(Sankey Diagram),都会下意识打开“标记”面板,拖入维度、度量,选中“线”或“路径”…

2026/10/17 11:36:30 阅读更多 →
自动驾驶感知中的PCA与LDA:安全驱动的维度约简实战指南

自动驾驶感知中的PCA与LDA:安全驱动的维度约简实战指南

1. 为什么在自动驾驶感知系统里,PCA和LDA不是“选修课”,而是必过门槛?你刚接手一个车载多传感器融合项目,激光雷达点云原始维度是20486(x/y/z/intensity/ring/timestamp),摄像头输出的ResNet-5…

2026/10/17 11:36:30 阅读更多 →
FastICA原理与sklearn实战:从盲源分离到工程落地

FastICA原理与sklearn实战:从盲源分离到工程落地

1. 这不是调个包那么简单:FastICA在sklearn里到底在解决什么问题你打开sklearn文档,看到sklearn.decomposition.FastICA这个类,第一反应可能是:“哦,独立成分分析,和PCA差不多吧?填个n_componen…

2026/10/17 11:36:30 阅读更多 →
外卖霸王餐小程序源码实战:CPS返利系统从部署到二次开发

外卖霸王餐小程序源码实战:CPS返利系统从部署到二次开发

简介:这份资源是面向本地外卖商家与小程序开发者的霸王餐系统源码,围绕美团、饿了么等主流外卖场景,提供商家入驻、霸王餐发布、优惠券设置与用户评价反馈等核心模块,帮助商家以免费体验活动吸引新客、沉淀口碑,也为想…

2026/10/17 11:35:29 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →