Python对Excel文件中不在指定区间内的数据加以去除的方法

本文介绍基于Python语言,读取Excel表格文件,基于我们给定的规则,对其中的数据加以筛选,将不在指定数据范围内的数据剔除,保留符合我们需要的数据的方法。

首先,我们来明确一下本文的具体需求。现有一个Excel表格文件(在本文中我们就以.csv格式的文件为例),如下图所示。

其中,Excel表格文件具有大量的数据,每一列表示某一种属性每一行表示某一个样本;我们需要做的,就是对于其中的部分属性加以数据筛选——例如,我们希望对上图中第一列的数据进行筛选,将其中大于2或小于-1的部分选出来,并将每一个所选出的单元格对应的直接删除;同时,我们还希望对其他的属性同样加以筛选,不同属性筛选的条件也各不相同,但都是需要将不符合条件的单元格所在的整行都删除。最终,我们保留下来的数据,就是符合我们需要的数据,此时我们需要将其保存为一个新的Excel表格文件。

明白了需求,我们即可开始代码的撰写;本文用到的具体代码如下所示。

# -*- coding: utf-8 -*-
"""
Created on Wed Jun  7 15:40:50 2023@author: fkxxgis
"""import pandas as pdoriginal_file = "E:/01_Reflectivity/99_Model_Training/00_Data/02_Extract_Data/23_Train_model_NoH/Train_Model_1_NoH.csv"
result_file = "E:/01_Reflectivity/99_Model_Training/00_Data/02_Extract_Data/23_Train_model_NoH/Train_Model_1_NoH_New.csv"df = pd.read_csv(original_file)df = df[(df["inf"] >= -0.2) & (df["inf"] <= 18)]
df = df[(df["NDVI"] >= -1) & (df["NDVI"] <= 1)]
df = df[(df["inf_dif"] >= -0.2) & (df["inf_dif"] <= 18)]
df = df[(df["NDVI_dif"] >= -2) & (df["NDVI_dif"] <= 2)]
df = df[(df["soil"] >= 0)]
df = df[(df["inf_h"] >= -0.2) & (df["inf_h"] <= 18)]
df = df[(df["ndvi_h"] >= -1) & (df["ndvi_h"] <= 1)]
df = df[(df["inf_h_dif"] >= -0.2) & (df["inf_h_dif"] <= 18)]
df = df[(df["ndvi_h_dif"] >= -1) & (df["ndvi_h_dif"] <= 1)]df.to_csv(result_file, index = False)

下面是对上述代码每个步骤的解释:

  1. 导入必要的库:导入了pandas库,用于数据处理和操作。
  2. 定义文件路径:定义了原始文件路径original_file和结果文件路径result_file
  3. 读取原始数据:使用pd.read_csv()函数读取原始文件数据,并将其存储在DataFrame对象df中。
  4. 数据筛选:对DataFrame对象df进行多个条件的筛选操作,使用了逻辑运算符&和比较运算符进行条件组合。例如,其中的第一行df["inf"] >= -0.2df["inf"] <= 18就表示筛选出"inf"列的值在-0.218之间的数据;第二行df["NDVI"] >= -1df["NDVI"] <= 1则表示筛选出"NDVI"列的值在-11之间的数据,以此类推。
  5. 保存结果数据:使用to_csv()函数将筛选后的DataFrame对象df保存为新的.csv文件,保存路径为result_file,并设置index=False以避免保存索引列。

当然,如果我们需要对多个属性(也就是多个列)的数据加以筛选,除了上述代码中的方法,我们还可以用如下所示的代码,较之前述代码会更方便一些。

result_df = result_df[(result_df["blue"] > 0) & (result_df["blue"] <= 1) &(result_df["green"] > 0) & (result_df["green"] <= 1) &(result_df["red"] > 0) & (result_df["red"] <= 1) &(result_df["inf"] > 0) & (result_df["inf"] <= 1) &(result_df["NDVI"] > -1) & (result_df["NDVI"] < 1) &(result_df["inf_dif"] > -1) & (result_df["inf_dif"] < 1) &(result_df["NDVI_dif"] > -2) & (result_df["NDVI_dif"] < 2) &(result_df["soil"] >= 0) &(result_df["NDVI_dif"] > -2) & (result_df["NDVI_dif"] < 2) &(result_df["inf_h_dif"] > -1) & (result_df["inf_h_dif"] < 1) &(result_df["ndvi_h_dif"] > -1) & (result_df["ndvi_h_dif"] < 1)]

上述代码可以直接对DataFrame对象加以一次性的筛选,不用每筛选一次就保存一次了。

运行本文提及的代码,我们即可在指定的结果文件夹下获得数据筛选后的文件了。

至此,大功告成。

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/644355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国大模型迎来“95后” 百度奖学金发掘百位“未来AI技术领袖”

在人工智能掀起的科技革命和产业变革浪潮下&#xff0c;大模型成为最受关注的研究领域。1月22日&#xff0c;第十一届百度奖学金颁奖典礼在北京举行&#xff0c;来自全球顶尖高校及科研机构的10位“未来AI技术领袖”脱颖而出&#xff0c;他们平均年龄仅27岁&#xff0c;其中8人…

【江科大】STM32:DMA转运

DMA 直接存储器存取&#xff08;协助CPU完成数据转运&#xff0c;可以直接访问32位内部存储器&#xff0c;内存SRAM&#xff0c;程序存储器Flash&#xff0c;寄存器等&#xff09; DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输&#xff0c;无须CPU干预&#…

【C++】入门(二)

前言&#xff1a; c基础语法&#xff08;下&#xff09; 文章目录 五、引用5.1 引用概念5.2 引用使用规则5.3 常引用5.4 引用的使用场景5.5 引用和指针的区别 六、内联函数6.1 概念6.2 内联函数的特性 七、auto关键字&#xff08;C11&#xff09;7.1 概念7.2 使用规则7.3 用于f…

Qt容器QMap(映射)

插入数据 QMap<QString,QString> infoMap; //第一个是key 第二个是valueinfoMap.insert("王祖蓝","163cm");infoMap.insert("Anglebaby","168cm");infoMap["易烊千玺"] "173cm(成长中)";infoMap["姚…

社区分享|百果园选择DataEase搭档蜜蜂微搭实现企业数据应用一体化

百果园&#xff0c;全称为深圳百果园实业&#xff08;集团&#xff09;股份有限公司&#xff0c;2001年12月成立于深圳&#xff0c;2002年开出中国第一家水果专卖店。截至2022年11月&#xff0c;百果园全国门店数量超过5600家&#xff0c;遍布全国140多个城市&#xff0c;消费会…

5118优惠码vip、svip、专业版和旗舰版使用yhm666

5118大数据平台会员优惠码【yhm666】&#xff0c;结算时勾选“使用优惠码”&#xff0c;然后在优惠码窗口中输入yhm666&#xff0c;然后点确定即可享受特价会员价格。阿腾云atengyun.com分享如下图&#xff1a; 5118会员优惠码【yhm666】 5118会员价格和使用优惠码之后的价格对…

Android 9.0 系统禁用截屏和录屏功能

1.前言 在9.0的系统rom产品开发中,在对于一些产品开发需求中,对系统截屏和录屏功能 要求去掉这些功能,不让用户截屏和录屏 保护 一个app的资源,所以就需要在系统中做限制不让截屏录屏,接下来具体实现相关功能 2.系统禁用截屏和录屏功能的核心类 frameworks\native\service…

C++ max和min函数详细使用指南

0. 前言 C 是一种强大而灵活的编程语言&#xff0c;具有丰富的标准库&#xff0c;其中包括了一系列实用的函数。其中&#xff0c;max 和 min 函数是处理数值的时候经常用到的工具。本文将深入探讨这两个函数的使用方法&#xff0c;以及它们在不同情景下的应用。 1. max 函数的…

ubuntu 20.04 使用 webrtc-streamer自动退出,报错GLIBC 问题解决方法

文章目录 前言Ubuntu 20.4中使用webrtc-streamer报错总结 前言 前端vue2 项目需要播放海康的视频流&#xff0c;本地启动起来了&#xff0c;现在需要的服务器上部署&#xff0c;服务器是Ubuntu 20.04&#xff0c;下面是部署时遇到的问题及解决方法&#xff0c;总耗时2天。 不知…

golang学习笔记——面试题 使用 3 个协程顺序打印 cat、dog、fish 各 100 次

文章目录 面试题 使用 3 个协程顺序打印 cat、dog、fish 各 100 次拓展第一种方法第二种方法 参考资料 面试题 使用 3 个协程顺序打印 cat、dog、fish 各 100 次 编程题&#xff1a;3个函数分别打印cat、dog、fish&#xff0c;要求每个函数都要起一个goroutine&#xff0c;按照…

算法训练营Day46(动态规划8之多重背包)

多重背包 关于 多重背包&#xff0c;力扣上没有相关的题目&#xff0c;所以今天的重点就是回顾一波 自己做的背包题目 本题力扣上没有原题&#xff0c;大家可以去卡码网第56题 (opens new window)去练习 简单介绍 有N种物品和一个容量为V 的背包。第i种物品最多有Mi件可用&…

【GitHub项目推荐--不错的 Java 开源项目】【转载】

1 基于 Java 的沙盒塔防游戏 Mindustry 是一款用 Java 编写的沙盒塔防游戏。玩家需要建造精密的传送带供应链&#xff0c;提供炮塔弹药&#xff0c;生产建筑材料&#xff0c;保护建筑并抵御敌人。也可以在跨平台多人合作游戏中与朋友一起战斗&#xff0c;或组队进行 PVP 比赛。…

多图合并二维码的制作方法,快速在线生成图片二维码

怎么将多张图合并用二维码展示呢&#xff1f;现在经常会通过扫码的方式来查看图片&#xff0c;选择这种方式不仅可以展现更多地内容&#xff0c;还能够减少图片对个人容量的占用&#xff0c;增加用户的交互性和娱乐性。那么如何使用二维码生成器来快速制作图片二维码呢&#xf…

openssl3.2 - 检查rsa证书和私钥是否匹配(快速手搓一个工具)

文章目录 openssl3.2 - 检查rsa证书和私钥是否匹配(快速手搓一个工具)概述效果笔记编程环境界面控件的设置增加文件拖拽的类RSA证书和key是否匹配的实现在程序中加入环境变量备注备注END openssl3.2 - 检查rsa证书和私钥是否匹配(快速手搓一个工具) 概述 在学习openssl官方的…

Python 变量?对象?引用?赋值?一个例子解释清楚

哈喽大家好&#xff0c;我是咸鱼。 前天有个小伙伴找到我&#xff0c;给了我一段 python 代码&#xff1a; a [1, 2] a[1] a print(a[1])然后问我为什么结果是 [1, [...]]&#xff0c;我一看这个问题有意思&#xff0c;我说三言两语解释不清楚&#xff0c;我写篇文章到时候…

和硕拿下AI Pin代工大单公司 | 百能云芯

和硕公司近日成功中标AI Pin代工大单&#xff0c;AI Pin被认为是继iPhone之后的下一个划时代产品&#xff0c;吸引了全球科技圈的广泛关注。和硕公司对此表示&#xff0c;他们不会只专注于单一客户&#xff0c;而是期望在下半年有更多新品上市&#xff0c;为公司带来丰硕的业绩…

自定义注解使用案例,

后续会加上详细注释&#xff0c;或者出一个贴图详细的2.0版本&#xff0c;大家不要错过&#xff01;我会详细教大家如何使用自定义注解开发&#xff01;让你的代码瞬间高大上起来 Data public class ReportDateDTO {/*** 年*/ApiModelProperty(value "年", notes &…

C++ -- 入门(引用)

1.引用 1.1引用的概念 引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空间&#xff0c;它和它引用的变量共用同一块内存空间。 比如&#xff1a;李逵&#xff0c;在家称为"铁牛"&#xff0c;江湖上人称&q…

CC工具箱使用指南:【平差工具】

一、简介 平差是一个摘自英文单词“adiustment”的中文翻译&#xff0c;它最初源于土地测量工程&#xff0c;并在后来广泛应用于各个测量领域在传统的测量中&#xff0c;由于各种误差的存在&#xff0c;例如仪器、人为、大地形态等因素&#xff0c;所得到的测量结果是不完全准…

MySQL基础(一)

学习数据库的目的&#xff1a; 实现数据持久化到本地。使用完整的管理系统统一管理&#xff0c;可以实现结构化查询&#xff0c;方便管理。 一、数据库概述 数据库&#xff08;DataBase&#xff09; 为了方便数据的存储和管理&#xff0c;它将数据按照特定的 规则存储在磁盘…