欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)對Excel文件中不在指定區(qū)間內(nèi)的數(shù)據(jù)加以去除的方法

 更新時間:2023年08月18日 08:52:48   作者:瘋狂學習GIS  
這篇文章主要介紹了基于Python語言,讀取Excel表格文件,基于我們給定的規(guī)則,對其中的數(shù)據(jù)加以篩選,將不在指定數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)剔除,保留符合我們需要的數(shù)據(jù)的方法,需要的朋友可以參考下

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

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

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

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

  1. 導入必要的庫:導入了 pandas 庫,用于數(shù)據(jù)處理和操作。
  2. 定義文件路徑:定義了原始文件路徑 original_file 和結(jié)果文件路徑 result_file
  3. 讀取原始數(shù)據(jù):使用 pd.read_csv() 函數(shù)讀取原始文件數(shù)據(jù),并將其存儲在
  4. DataFrame對象 df 中。
  5. 數(shù)據(jù)篩選:對DataFrame對象 df 進行多個條件的篩選操作,使用了邏輯運算符 & 和比較運算符進行條件組合。例如,其中的第一行 df["inf"] >= -0.2 df["inf"] <= 18 就表示篩選出 "inf" 列的值在 -0.2 18 之間的數(shù)據(jù);第二行 df["NDVI"] >= -1 df["NDVI"] <= 1 則表示篩選出 "NDVI" 列的值在 -1 1 之間的數(shù)據(jù),以此類推。
  6. 保存結(jié)果數(shù)據(jù):使用 to_csv() 函數(shù)將篩選后的DataFrame對象 df 保存為新的 .csv 文件,保存路徑為 result_file ,并設(shè)置 index=False 以避免保存索引列。

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

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

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

至此,大功告成。

以上就是Python實現(xiàn)對Excel文件中不在指定區(qū)間內(nèi)的數(shù)據(jù)加以去除的方法的詳細內(nèi)容,更多關(guān)于Python讀取Excel文件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python 利用turtle庫繪制笑臉和哭臉的例子

    python 利用turtle庫繪制笑臉和哭臉的例子

    今天小編就為大家分享一篇python 利用turtle庫繪制笑臉和哭臉的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 從零開始的TensorFlow+VScode開發(fā)環(huán)境搭建的步驟(圖文)

    從零開始的TensorFlow+VScode開發(fā)環(huán)境搭建的步驟(圖文)

    這篇文章主要介紹了從零開始的TensorFlow+VScode開發(fā)環(huán)境搭建的步驟(圖文),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Pytorch maxpool的ceil_mode用法

    Pytorch maxpool的ceil_mode用法

    今天小編就為大家分享一篇Pytorch maxpool的ceil_mode用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 一起來了解python的運算符

    一起來了解python的運算符

    這篇文章主要為大家詳細介紹了python的運算符,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • ?Python?中?logging?模塊使用詳情

    ?Python?中?logging?模塊使用詳情

    這篇文章主要介紹了?Python?中?logging?模塊使用,在我們寫程序時,可以借助?logging?模塊的輸出信息來調(diào)試代碼,下文章關(guān)于?logging?模塊的使用相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-03-03
  • python調(diào)用另外一個py文件中函數(shù)的具體步驟

    python調(diào)用另外一個py文件中函數(shù)的具體步驟

    這篇文章主要給大家介紹了關(guān)于python調(diào)用另外一個py文件中函數(shù)的具體步驟,要在一個Python文件中調(diào)用其他Python文件中的方法,可以使用Python的模塊導入功能,需要的朋友可以參考下
    2023-11-11
  • Python?Jupyter?Notebook導包報錯問題及解決

    Python?Jupyter?Notebook導包報錯問題及解決

    在conda環(huán)境中安裝包后,Jupyter?Notebook導入時出現(xiàn)ImportError,可能是由于包版本不對應(yīng)或版本太高,解決方法包括卸載并重新安裝出錯的包,或安裝該包的其他版本,此外,確保在正確的環(huán)境中安裝ipykernel,并使用正確的命令添加和更改kernel
    2025-02-02
  • pytorch訓練時的顯存占用遞增的問題解決

    pytorch訓練時的顯存占用遞增的問題解決

    本文主要介紹了pytorch訓練時的顯存占用遞增的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • python mysql實現(xiàn)學生成績管理系統(tǒng)

    python mysql實現(xiàn)學生成績管理系統(tǒng)

    這篇文章主要為大家詳細介紹了python mysql實現(xiàn)學生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Python如何將PDF拆分成多個文件(最新推薦)

    Python如何將PDF拆分成多個文件(最新推薦)

    在 Python 中,你可以使用 PyPDF2 庫來拆分 PDF 文件,以下是一個簡單的示例,演示如何將一個 PDF 文件拆分為多個單頁 PDF 文件,感興趣的朋友跟隨小編一起看看吧
    2024-05-05

最新評論