Python按条件删除Excel表格数据的方法(示例详解)

 更新时间:2024年08月10日 09:08:25   作者:疯狂学习GIS  
本文介绍基于Python语言,读取Excel表格文件,基于我们给定的规则,对其中的数据加以筛选,将不在指定数据范围内的数据剔除,保留符合我们需要的数据的方法,感兴趣的朋友跟随小编一起看看吧

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

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

image

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

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

# -*- coding: utf-8 -*-
"""
Created on Wed Jun  7 15:40:50 2023
@author: fkxxgis
"""
import pandas as pd
original_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)

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

  • 导入必要的库:导入了pandas库,用于数据处理和操作。
  • 定义文件路径:定义了原始文件路径original_file和结果文件路径result_file
  • 读取原始数据:使用pd.read_csv()函数读取原始文件数据,并将其存储在DataFrame对象df中。
  • 数据筛选:对DataFrame对象df进行多个条件的筛选操作,使用了逻辑运算符&和比较运算符进行条件组合。例如,其中的第一行df["inf"] >= -0.2 和 df["inf"] <= 18就表示筛选出"inf"列的值在-0.218之间的数据;第二行df["NDVI"] >= -1 和 df["NDVI"] <= 1则表示筛选出"NDVI"列的值在-11之间的数据,以此类推。
  • 保存结果数据:使用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按条件删除Excel表格数据的方法的文章就介绍到这了,更多相关Python 删除Excel表格数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python利用pandas将excel文件转换为txt文件的方法

    python利用pandas将excel文件转换为txt文件的方法

    今天小编就为大家分享一篇python利用pandas将excel文件转换为txt文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • 如何将python文件打包成exe可运行文件

    如何将python文件打包成exe可运行文件

    这篇文章主要介绍了将python文件打包成exe可运行文件的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • python和pyqt实现360的CLable控件

    python和pyqt实现360的CLable控件

    这篇文章主要介绍了python和pyqt实现360的CLable控件示例,需要的朋友可以参考下
    2014-02-02
  • 关于python列表增加元素的三种操作方法

    关于python列表增加元素的三种操作方法

    这篇文章主要介绍了关于python列表增加元素的几种操作方法,主要有insert方法,extend方法和append方法,每种方法给大家介绍的非常详细,需要的朋友可以参考下
    2018-08-08
  • Python数据结构队列解决约瑟夫斯问题

    Python数据结构队列解决约瑟夫斯问题

    这篇文章主要介绍了Python数据结构队列解决约瑟夫斯问题
    2023-02-02
  • 关于PySnooper 永远不要使用print进行调试的问题

    关于PySnooper 永远不要使用print进行调试的问题

    这篇文章主要介绍了关于PySnooper 永远不要使用print进行调试的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Python3匿名函数用法示例

    Python3匿名函数用法示例

    这篇文章主要介绍了Python3匿名函数用法,结合实例形式分析了Python3匿名函数的概念、功能、使用方法及相关操作注意事项,代码中备有较为详尽的注释说明便于理解,需要的朋友可以参考下
    2018-07-07
  • Python使用pip freeze的完整指南

    Python使用pip freeze的完整指南

    pip freeze 是 Python 包管理器 pip 的一个非常有用的命令,它可以列出当前 Python 环境中已经安装的所有包及其版本,本文将详细介绍 pip freeze 的用途及其在不同场景下的使用方法,需要的朋友可以参考下
    2024-08-08
  • Python递归实现打印多重列表代码

    Python递归实现打印多重列表代码

    今天小编就为大家分享一篇Python递归实现打印多重列表代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 一篇文章搞懂Python程序流程控制结构

    一篇文章搞懂Python程序流程控制结构

    这篇文章主要给大家介绍了关于Python程序流程控制结构的相关资料,本节学习了Python程序的控制结构之顺序结构、分支结构、循环结构,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09

最新评论