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/7/27 19:36:12 阅读更多 →
LMX9838蓝牙模块NVS配置与测试模式实战指南

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

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

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

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

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

2026/7/27 19:36:12 阅读更多 →

最新新闻

紧急通知:飞书API v3.2升级后,旧版智能伙伴配置将在30天后失效(附迁移 checklist)

紧急通知:飞书API v3.2升级后,旧版智能伙伴配置将在30天后失效(附迁移 checklist)

更多请点击: https://intelliparadigm.com 第一章:飞书智能伙伴API v3.2升级背景与影响范围 飞书智能伙伴API v3.2版本于2024年第三季度正式发布,此次升级聚焦于提升多模态交互能力、增强企业级安全合规支持,并优化高并发场景下的…

2026/7/27 19:44:14 阅读更多 →
AI辅助学术写作工具全解析与实战指南

AI辅助学术写作工具全解析与实战指南

1. 学术写作效率革命:智能工具全景解析去年指导研究生论文时,我发现学生们平均要花费47天在文献梳理和初稿撰写上。直到实验室来了位访问学者,他只用3天就完成了文献综述章节——秘密就在于合理使用了AI辅助工具。这促使我系统测试了市面上9款…

2026/7/27 19:44:14 阅读更多 →
AI人才测评系统:企业招聘的智能化解决方案

AI人才测评系统:企业招聘的智能化解决方案

1. 企业招聘的痛点与AI测评的崛起"简历光鲜亮丽,面试侃侃而谈,入职后却频频掉链子"——这句话道出了无数HR的心声。作为从业十余年的人力资源顾问,我亲眼见证过太多企业因为招聘失误而付出的惨痛代价。根据我的实战数据统计&#x…

2026/7/27 19:44:14 阅读更多 →
CompreFace人脸识别系统终极指南:从零开始构建企业级人脸识别应用

CompreFace人脸识别系统终极指南:从零开始构建企业级人脸识别应用

CompreFace人脸识别系统终极指南:从零开始构建企业级人脸识别应用 【免费下载链接】CompreFace Leading free and open-source face recognition system 项目地址: https://gitcode.com/gh_mirrors/co/CompreFace 你是否正在寻找一个无需机器学习专业知识就能…

2026/7/27 19:44:14 阅读更多 →
XSS攻击原理深度解析与实战防御:从漏洞挖掘到企业级防护

XSS攻击原理深度解析与实战防御:从漏洞挖掘到企业级防护

1. 项目概述:为什么XSS依然是Web安全的“头号公敌”?做Web安全这些年,我处理过形形色色的漏洞,但要说哪个最“顽固”、最“常见”,也最容易被开发者轻视,那非跨站脚本攻击莫属。你可能在各种安全报告里见过…

2026/7/27 19:44:14 阅读更多 →
Potree点云可视化终极指南:如何用WebGL处理大规模三维数据

Potree点云可视化终极指南:如何用WebGL处理大规模三维数据

Potree点云可视化终极指南:如何用WebGL处理大规模三维数据 【免费下载链接】potree WebGL point cloud viewer for large datasets 项目地址: https://gitcode.com/gh_mirrors/po/potree Potree是一个基于WebGL的开源点云渲染器,专门用于处理海量…

2026/7/27 19:43:14 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/27 6:31:56 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻