最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)指定范圍內(nèi)篩選并剔除Excel表格中的數(shù)據(jù)

 更新時(shí)間:2023年06月09日 08:21:56   作者:瘋狂學(xué)習(xí)GIS  
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)在指定范圍內(nèi)篩選并剔除Excel表格中的數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的可以了解一下

本文介紹基于Python語言,讀取Excel表格文件,基于我們給定的規(guī)則,對其中的數(shù)據(jù)加以篩選,將不在指定數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)剔除,保留符合我們需要的數(shù)據(jù)的方法。

首先,我們來明確一下本文的具體需求?,F(xiàn)有一個(gè)Excel表格文件(在本文中我們就以.csv格式的文件為例),如下圖所示。

其中,Excel表格文件具有大量的數(shù)據(jù),每一列表示某一種屬性,每一行表示某一個(gè)樣本;我們需要做的,就是對于其中的部分屬性加以數(shù)據(jù)篩選——例如,我們希望對上圖中第一列的數(shù)據(jù)進(jìn)行篩選,將其中大于2或小于-1的部分選出來,并將每一個(gè)所選出的單元格對應(yīng)的行直接刪除;同時(shí),我們還希望對其他的屬性同樣加以篩選,不同屬性篩選的條件也各不相同,但都是需要將不符合條件的單元格所在的整行都刪除。最終,我們保留下來的數(shù)據(jù),就是符合我們需要的數(shù)據(jù),此時(shí)我們需要將其保存為一個(gè)新的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)

下面是對上述代碼每個(gè)步驟的解釋:

1.導(dǎo)入必要的庫:導(dǎo)入了pandas庫,用于數(shù)據(jù)處理和操作。

2.定義文件路徑:定義了原始文件路徑original_file和結(jié)果文件路徑result_file。

3.讀取原始數(shù)據(jù):使用pd.read_csv()函數(shù)讀取原始文件數(shù)據(jù),并將其存儲(chǔ)在DataFrame對象df中。

4.數(shù)據(jù)篩選:對DataFrame對象df進(jìn)行多個(gè)條件的篩選操作,使用了邏輯運(yùn)算符&和比較運(yùn)算符進(jìn)行條件組合。例如,其中的第一行df["inf"] >= -0.2 和 df["inf"] <= 18就表示篩選出"inf"列的值在-0.2到18之間的數(shù)據(jù);第二行df["NDVI"] >= -1 和 df["NDVI"] <= 1則表示篩選出"NDVI"列的值在-1到1之間的數(shù)據(jù),以此類推。

5.保存結(jié)果數(shù)據(jù):使用to_csv()函數(shù)將篩選后的DataFrame對象df保存為新的.csv文件,保存路徑為result_file,并設(shè)置index=False以避免保存索引列。

當(dāng)然,如果我們需要對多個(gè)屬性(也就是多個(gè)列)的數(shù)據(jù)加以篩選,除了上述代碼中的方法,我們還可以用如下所示的代碼,較之前述代碼會(huì)更方便一些。

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對象加以一次性的篩選,不用每篩選一次就保存一次了。

運(yùn)行本文提及的代碼,我們即可在指定的結(jié)果文件夾下獲得數(shù)據(jù)篩選后的文件了。

到此這篇關(guān)于Python實(shí)現(xiàn)指定范圍內(nèi)篩選并剔除Excel表格中的數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python篩選Excel數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python AES加密模塊用法分析

    Python AES加密模塊用法分析

    這篇文章主要介紹了Python AES加密模塊用法,結(jié)合具體實(shí)例形式分析了AES加密模塊的相關(guān)使用技巧與注意事項(xiàng),需要的朋友可以參考下
    2017-05-05
  • python 3.8.3 安裝配置圖文教程

    python 3.8.3 安裝配置圖文教程

    這篇文章主要為大家詳細(xì)介紹了python 3.8.3 安裝配置圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • python?DataFrame的shift()方法的使用

    python?DataFrame的shift()方法的使用

    在python數(shù)據(jù)分析中,可以使用shift()方法對DataFrame對象的數(shù)據(jù)進(jìn)行位置的前滯、后滯移動(dòng),本文主要介紹了python?DataFrame的shift()方法的使用,感興趣的可以了解一下
    2022-03-03
  • Python Coroutine池化的實(shí)現(xiàn)詳解

    Python Coroutine池化的實(shí)現(xiàn)詳解

    在當(dāng)今計(jì)算機(jī)科學(xué)和軟件工程的領(lǐng)域中,池化技術(shù)如線程池、連接池和對象池等已經(jīng)成為優(yōu)化資源利用率和提高軟件性能的重要工具,所以下面我們就來看看Coroutine池化的具體實(shí)現(xiàn)吧
    2024-01-01
  • Python-openpyxl表格讀取寫入的案例詳解

    Python-openpyxl表格讀取寫入的案例詳解

    這篇文章主要介紹了Python-openpyxl表格讀取寫入的案例分析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • OpenCV清除小面積連通域的實(shí)現(xiàn)方法

    OpenCV清除小面積連通域的實(shí)現(xiàn)方法

    本文主要介紹了OpenCV清除小面積連通域的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Pytest?Fixture參數(shù)講解及使用

    Pytest?Fixture參數(shù)講解及使用

    這篇文章主要介紹了Pytest之Fixture參數(shù)詳解及使用,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • python中字符串比較使用is、==和cmp()總結(jié)

    python中字符串比較使用is、==和cmp()總結(jié)

    在Python中比較字符串最好是使用簡單邏輯操作符,今天為大家講解一下is、==和cmp()使用總結(jié)
    2018-03-03
  • Windows系統(tǒng)下安裝tensorflow的配置步驟

    Windows系統(tǒng)下安裝tensorflow的配置步驟

    這篇文章主要介紹了Windows系統(tǒng)下安裝tensorflow,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Python之py2exe打包工具詳解

    Python之py2exe打包工具詳解

    下面小編就為大家?guī)硪黄狿ython之py2exe打包工具詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論

新疆| 屯昌县| 郓城县| 信宜市| 武陟县| 牡丹江市| 新泰市| 方正县| 红安县| 卓资县| 景德镇市| 马公市| 离岛区| 台北县| 肥乡县| 万全县| 阜平县| 东兴市| 承德县| 榆林市| 永德县| 平谷区| 武定县| 丹江口市| 绍兴县| 彰化市| 吴川市| 海盐县| 神木县| 定结县| 鲁甸县| 黄山市| 昌都县| 大石桥市| 隆德县| 宝应县| 墨脱县| 长子县| 京山县| 萨迦县| 高邑县|