Python按条件删除Excel表格数据的方法

打印 上一主题 下一主题

主题 876|帖子 876|积分 2628

  本文介绍基于Python语言,读取Excel表格文件,基于我们给定的规则,对其中的数据加以筛选,将不在指定命据范围内的数据剔除,保留符合我们必要的数据的方法。
  起首,我们来明白一下本文的具体需求。现有一个Excel表格文件(在本文中我们就以.csv格式的文件为例),如下图所示。

  其中,Excel表格文件具有大量的数据,每一列表示某一种属性每一行表示某一个样本;我们必要做的,就是对于其中的部分属性加以数据筛选——比方,我们希望对上图中第一列的数据进行筛选,将其中大于2或小于-1的部分选出来,并将每一个所选出的单位格对应的直接删除;同时,我们还希望对其他的属性同样加以筛选,不同属性筛选的条件也各不相同,但都是必要将不符合条件的单位格所在的整行都删除。最终,我们保留下来的数据,就是符合我们必要的数据,此时我们必要将其保存为一个新的Excel表格文件。
  明白了需求,我们即可开始代码的撰写;本文用到的具体代码如下所示。
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Wed Jun  7 15:40:50 2023
  4. @author: fkxxgis
  5. """
  6. import pandas as pd
  7. original_file = "E:/01_Reflectivity/99_Model_Training/00_Data/02_Extract_Data/23_Train_model_NoH/Train_Model_1_NoH.csv"
  8. result_file = "E:/01_Reflectivity/99_Model_Training/00_Data/02_Extract_Data/23_Train_model_NoH/Train_Model_1_NoH_New.csv"
  9. df = pd.read_csv(original_file)
  10. df = df[(df["inf"] >= -0.2) & (df["inf"] <= 18)]
  11. df = df[(df["NDVI"] >= -1) & (df["NDVI"] <= 1)]
  12. df = df[(df["inf_dif"] >= -0.2) & (df["inf_dif"] <= 18)]
  13. df = df[(df["NDVI_dif"] >= -2) & (df["NDVI_dif"] <= 2)]
  14. df = df[(df["soil"] >= 0)]
  15. df = df[(df["inf_h"] >= -0.2) & (df["inf_h"] <= 18)]
  16. df = df[(df["ndvi_h"] >= -1) & (df["ndvi_h"] <= 1)]
  17. df = df[(df["inf_h_dif"] >= -0.2) & (df["inf_h_dif"] <= 18)]
  18. df = df[(df["ndvi_h_dif"] >= -1) & (df["ndvi_h_dif"] <= 1)]
  19. df.to_csv(result_file, index = False)
复制代码
  上述代码可以直接对DataFrame对象加以一次性的筛选,不消每筛选一次就保存一次了。
  运行本文提及的代码,我们即可在指定的结果文件夹下获得数据筛选后的文件了。
  至此,大功告成。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

水军大提督

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表