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

Python實現(xiàn)為Excel中每個單元格計算其在文件中的平均值

 更新時間:2023年10月07日 08:42:14   作者:瘋狂學習GIS  
這篇文章主要為大家詳細介紹了如何基于Python語言實現(xiàn)對大量不同的Excel文件加以跨文件、逐單元格平均值計算,感興趣的小伙伴可以跟隨小編一起學習一下

本文介紹基于Python語言,對大量不同的Excel文件加以跨文件、逐單元格平均值計算的方法。

首先,我們來明確一下本文的具體需求?,F(xiàn)有一個文件夾,其中有如下所示的大量Excel文件,我們這里就以 .csv 文件為例來介紹。其中,每一個 .csv 文件的名稱都是如下圖所示的 Ref_XXX_Y.csv 格式的,其中 XXX 表示三個字母,后面的 Y 則表示若干位數(shù)字。

對于其中的每一個 .csv 文件,都有著如下圖所示的數(shù)據(jù)格式。

我們現(xiàn)在的需求是,希望對于每一個名稱為 Ref_GRA_Y.csv 格式的 .csv 文件,求取其中每一個單元格在所有文件中數(shù)據(jù)的平均值。例如,對于上圖中 DOY 1 blue 這個單元格,那么求出來的平均值就是在全部名稱為 Ref_GRA_Y.csv 格式的 .csv 文件之中, DOY 1 且列名為 blue 的單元格的平均值。此外,如果像上圖一樣,出現(xiàn)了部分單元格數(shù)值為 0 的情況,表明在當前文件夾下,這個單元格是沒有數(shù)據(jù)的,因此需要在計算的時候舍去(并且取平均值時候的分母也要減小 1 )。

知道了需求,我們就可以開始代碼的書寫。其中,本文用到的具體代碼如下所示。此外,本文實現(xiàn)的需求也和我們之前的文章基于Python讀取多個Excel文件數(shù)據(jù)并跨越不同xlsx表格文件計算平均值有些類似,大家如果有需要,也可以參考之前的這一篇文章。

# -*- coding: utf-8 -*-
"""
Created on Fri Oct  6 13:07:48 2023
@author: fkxxgis
"""
import os
import glob
import pandas as pd
folder_path = "E:/04_Reconstruction/02_Data/01_RGBNINDVI_History"
output_path = "E:/04_Reconstruction/02_Data"
file_pattern = "Ref_GRA_*.csv"
file_paths = glob.glob(os.path.join(folder_path, file_pattern))
combined_data = pd.DataFrame()
for file_path in file_paths:
    df = pd.read_csv(file_path)
    df_filtered = df[df != 0]
    combined_data = pd.concat([combined_data, df_filtered])
average_values = combined_data.groupby('DOY').mean()
output_file = "04_Data_YearAverage.csv"
average_values.to_csv(os.path.join(output_path,output_file), index=True)

其中,上述代碼的具體介紹如下。

首先,我們導入必要的庫—— os 庫用于文件路徑操作, glob 庫用于文件匹配, pandas 庫用于數(shù)據(jù)處理和分析。同時,我們定義文件夾路徑 folder_path ,代表存儲 .csv 文件的文件夾路徑;定義輸出路徑 output_path ,代表保存結果文件的路徑;定義文件匹配模式 file_pattern ,用于匹配需要處理的 .csv 文件的文件名模式。

隨后,我們使用 glob.glob() 函數(shù)結合文件夾路徑和文件匹配模式,獲取滿足條件的 .csv 文件的路徑列表,存儲在 file_paths 變量中。創(chuàng)建一個空的數(shù)據(jù)框 combined_data ,用于存儲所有文件的數(shù)據(jù)。

接下來,我們使用一個循環(huán),遍歷 file_paths 列表中的每個文件路徑。對于每個文件路徑,使用 pd.read_csv() 函數(shù)加載 .csv 文件,并將其存儲在名為 df 的數(shù)據(jù)框中。其次,使用條件篩選語句 df[df != 0] 排除值為 0 的數(shù)據(jù),并將結果存儲在名為 df_filtered 的數(shù)據(jù)框中。緊接著,將當前文件的數(shù)據(jù)框 df_filtered 合并到總數(shù)據(jù)框 combined_data 中,這一步驟使用 pd.concat() 函數(shù)實現(xiàn)。

完成所有文件的處理后,使用 combined_data.groupby('DOY').mean() 計算所有文件的平均值,按照 DOY 列進行分組并求平均值。隨后,定義輸出文件名 output_file ,代表保存平均值結果的文件名。

最后,使用 os.path.join() 函數(shù)結合輸出路徑和輸出文件名,生成保存路徑,并使用 average_values.to_csv() 函數(shù)將平均值數(shù)據(jù)框 average_values 保存為一個新的 .csv 文件,指定 index=True 以包含索引列。

運行上述代碼,我們即可得到結果文件。如下圖所示,可以看到結果文件中,已經(jīng)是計算之后的平均值結果了。

至此,大功告成。

到此這篇關于Python實現(xiàn)為Excel中每個單元格計算其在文件中的平均值的文章就介紹到這了,更多相關Python計算平均值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

横山县| 淳安县| 斗六市| 阜康市| 娄底市| 都匀市| 娄底市| 河西区| 宿州市| 郁南县| 林芝县| 通化市| 遵义县| 卓尼县| 辽阳市| 鄂托克旗| 汶上县| 开远市| 镇安县| 桃园县| 高邑县| 九江市| 茂名市| 芜湖市| 昔阳县| 千阳县| 扶绥县| 南城县| 岐山县| 屏南县| 漾濞| 新建县| 肃宁县| 文登市| 阿勒泰市| 黔江区| 乌苏市| 桦南县| 栖霞市| 巴塘县| 杂多县|