亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于python語言的水體營養(yǎng)狀態(tài)評價系統(tǒng)的設(shè)計

        2024-01-30 07:00:20宋盼盼
        水利技術(shù)監(jiān)督 2024年1期
        關(guān)鍵詞:高錳酸鹽分值葉綠素

        宋盼盼,周 猛,肖 瑩

        (湖北省孝感市水文水資源勘測局,湖北 孝感 432100)

        水體營養(yǎng)狀態(tài)評價是地表水環(huán)境質(zhì)量評價的重要組成部分,是對水體富營養(yǎng)化發(fā)展過程中某一階段的營養(yǎng)狀況進行定量描述,通過對代表性指標(biāo)的監(jiān)測與調(diào)查,判定水體的營養(yǎng)狀態(tài),了解其富營養(yǎng)化進程及預(yù)測其發(fā)展趨勢,為水體水質(zhì)管理及富營養(yǎng)化防治提供科學(xué)依據(jù)[1]。其本質(zhì)是按照一定的標(biāo)準(zhǔn)和方法對水環(huán)境監(jiān)測數(shù)據(jù)進行加工處理,最終形成水體優(yōu)劣程度的評判結(jié)論。

        長期以來,水體營養(yǎng)狀態(tài)評價主要借助于Microsoft Excel、WPS表格或SPSS等常規(guī)辦公軟件的數(shù)據(jù)處理功能。在具體執(zhí)行大批量運算時,對軟件運行環(huán)境、原始數(shù)據(jù)質(zhì)量和格式要求較高,尤其是處理大批量數(shù)據(jù)時效率較低且容易出錯,在實際使用中存在一定的局限性。

        python是一種面向?qū)ο蟮慕忉屝缘挠嬎銠C程序設(shè)計語言,具有簡潔、易讀、易維護、免費開源、可移植性和可擴展性等特性。經(jīng)歷幾十年的發(fā)展,Python工具箱現(xiàn)已涵蓋數(shù)據(jù)爬蟲、數(shù)據(jù)分析、深度學(xué)習(xí)、人工智能和Web開發(fā)等技術(shù)的常用庫和外部工具,可廣泛應(yīng)用于各種交叉學(xué)科。近年來,python在水文分析計算、水資源水環(huán)境監(jiān)測與評價領(lǐng)域中應(yīng)用的案例不斷涌現(xiàn)[2-7],為水資源、水環(huán)境監(jiān)測與評價工作開辟了一條更加高效、便捷的途徑。筆者采用python語言設(shè)計一種可以應(yīng)用于水體營養(yǎng)狀態(tài)評價的數(shù)據(jù)處理系統(tǒng)具有一定的可行性和實用價值。

        1 評價方案的選取

        常用的水體營養(yǎng)狀態(tài)評價方法主要有營養(yǎng)狀態(tài)指數(shù)法(卡爾森營養(yǎng)狀態(tài)指數(shù)(TSI)[8]、修正的營養(yǎng)狀態(tài)指數(shù)(TSIM)[9]、綜合營養(yǎng)狀態(tài)指數(shù)(TLI)[10])、營養(yǎng)度指數(shù)法[11]、模糊聚類數(shù)學(xué)模型法[12]和評分法[13]等。筆者結(jié)合當(dāng)前水利系統(tǒng)水環(huán)境監(jiān)測與評價工作實際情況,水體營養(yǎng)狀態(tài)評價方案采用評分法。其主要依據(jù)為水利行業(yè)標(biāo)準(zhǔn)《地表水資源質(zhì)量評價技術(shù)規(guī)程》(SL 395—2007),其中湖泊營養(yǎng)狀態(tài)評價標(biāo)準(zhǔn)及分級方法源自中國科學(xué)院南京地理與湖泊研究所舒金華1990年提出的評分法[14]。

        評分法是根據(jù)水體營養(yǎng)狀態(tài)相關(guān)評價因子和對應(yīng)的評價標(biāo)準(zhǔn),在0~100分的范圍內(nèi)分別賦予各評價參數(shù)相應(yīng)的分值,其分值與水體富營養(yǎng)化程度呈正相關(guān)。評價指標(biāo)為葉綠素a(chl-a)、總磷(TP)、總氮(TN)、透明度(SD)和高錳酸鹽指數(shù)(CODMn),其中葉綠素a(chl-a)為必評項目。依據(jù)水體營養(yǎng)狀態(tài)評價標(biāo)準(zhǔn),采用線性插值法將水質(zhì)項目濃度值轉(zhuǎn)換為賦分值,按公式(1)計算營養(yǎng)狀態(tài)指數(shù)EI,根據(jù)營養(yǎng)狀態(tài)指數(shù)確定營養(yǎng)狀態(tài)分級。水體營養(yǎng)狀態(tài)評價標(biāo)準(zhǔn)及分級方法見表1[15]。

        表1 水體營養(yǎng)狀態(tài)評價標(biāo)準(zhǔn)及分級方法

        (1)

        式中,EI—營養(yǎng)狀態(tài)指數(shù);En—評價項目賦分值;N—評價項目個數(shù)。

        2 工作流程的設(shè)計

        利用python出色的數(shù)據(jù)處理能力可以完成對監(jiān)測數(shù)據(jù)的預(yù)處理,從原始監(jiān)測數(shù)據(jù)中提取出需要參評的數(shù)據(jù),然后依據(jù)水體營養(yǎng)狀態(tài)評價標(biāo)準(zhǔn)建立項目濃度值與賦分值的函數(shù)關(guān)系曲線方程,分別按照對應(yīng)的曲線方程進行賦值運算,再根據(jù)運算結(jié)果對樣品代表的水體進行分級評價,最后對必評項目“葉綠素a”是否參評進行自動復(fù)核,輸出營養(yǎng)狀態(tài)分級評價成果。本評價系統(tǒng)使用的所有數(shù)據(jù)文件均為.xlsx或.xls格式。水體營養(yǎng)狀態(tài)評價系統(tǒng)工作流程如圖1所示。

        圖1 水體營養(yǎng)狀態(tài)評價系統(tǒng)工作流程

        3 主要功能的實現(xiàn)

        3.1 數(shù)據(jù)處理

        一般情況下,原始的水環(huán)境監(jiān)測數(shù)據(jù)包含的信息量較大,為方便后續(xù)數(shù)據(jù)處理,需篩選出水體營養(yǎng)狀態(tài)相關(guān)評價因子。使用pandas模塊提取文件“原始檢測數(shù)據(jù).xlsx”中的樣品信息(如“樣品編號”“樣品名稱”“采樣日期”等)和評價參數(shù)(“高錳酸鹽指數(shù)”“總磷”“總氮”“葉綠素a”“透明度”)等參評必要數(shù)據(jù),生成文件“水體營養(yǎng)狀態(tài)監(jiān)測成果.xlsx”。數(shù)據(jù)處理的主要代碼如下:

        import pandas as pd

        df=pd.read_excel('原始檢測數(shù)據(jù).xlsx')

        df=df.reindex(columns=['樣品編號','樣品名稱',' 采樣日期','高錳酸鹽指數(shù)','總磷','總氮','葉綠素a','透明度'])

        print(df)

        df.to_excel('水體營養(yǎng)狀態(tài)監(jiān)測成果.xlsx',index=False)

        3.2 建立關(guān)系曲線

        根據(jù)水體營養(yǎng)狀態(tài)評價標(biāo)準(zhǔn)及分級方法表中“評價項目賦分值En”和各項指標(biāo)濃度值的對應(yīng)關(guān)系,可整理成五個獨立的分段函數(shù),分別表示葉綠素a(chl-a)、總磷(TP)、總氮(TN)、透明度(SD)、高錳酸鹽指數(shù)(CODMn)五項指標(biāo)的濃度值與賦分值En的函數(shù)關(guān)系。以葉綠素a(chl-a)和透明度(SD)2項為例,其關(guān)系曲線分別用python代碼表示如下:

        #項目"葉綠素a"營養(yǎng)狀態(tài)指數(shù)分段函數(shù)

        def Eutrophication_index_Chlorophyll_a(x):

        if 0.000<=x<0.0005:

        return 20000*x+0

        elif 0.0005<=x<0.0010:

        return 20000*x+0

        elif 0.0010<=x<0.0020:

        return 10000*x+10

        elif 0.0020<=x<0.0040:

        return 5000*x+20

        elif 0.0040<=x<0.010:

        return 5000/3*x+100/3

        elif 0.010<=x<0.026:

        return 625*x+175/4

        elif 0.026<=x<0.064:

        return 5000/19*x+1010/19

        elif 0.064<=x<0.16:

        return 625/6*x+190/3

        elif 0.16<=x<0.40:

        return 250/6*x+220/3

        elif 0.40<=x<1.0:

        return 50/3*x+250/3

        elif x>=1.0:

        return 100

        else:

        return ""

        #項目"透明度"營養(yǎng)狀態(tài)指數(shù)分段函數(shù)

        def Eutrophication_index_Transparency(x):

        if x>=10:

        return-2*x+30

        elif 5.0<=x<10:

        return-2*x+30

        elif 3.0<=x<5.0:

        return-5*x+45

        elif 1.5<=x<3.0:

        return-20/3*x+50

        elif 1.0<=x<1.5:

        return-20*x+70

        elif 0.5<=x<1.0:

        return-20*x+70

        elif 0.4<=x<0.5:

        return-100*x+110

        elif 0.3<=x<0.4:

        return-100*x+110

        elif 0.2<=x<0.3:

        return-100*x+110

        elif 0.12<=x<0.2:

        return-125*x+115

        elif x<0.12:

        return 100

        else:

        return ""

        3.3 賦分計算

        將3.1中提取的監(jiān)測數(shù)據(jù)分別帶入3.2中對應(yīng)的關(guān)系曲線,計算出各項指標(biāo)對應(yīng)的賦分值En和樣品所代表水體的營養(yǎng)狀態(tài)指數(shù)EI。主要代碼如下:

        #分別計算各指標(biāo)富營養(yǎng)化指數(shù)En

        d=pd.read_excel('水體營養(yǎng)狀態(tài)監(jiān)測成果.xlsx')

        d['葉綠素a']=d['葉綠素a'].apply(lambda x:Eutrophication_index_Chlorophyll_a(x))

        d['總磷']=d['總磷'].apply(lambda x:Eutrophication_index_TP_lake(x))

        d['總氮']=d['總氮'].apply(lambda x:Eutrophication_index_TN_lake(x))

        d['高錳酸鹽指數(shù)']=d['高錳酸鹽指數(shù)'].apply(lambda x:Eutrophication_index_CODmn(x))

        d['透明度']=d['透明度'].apply(lambda x:Eutrophication_index_Transparency(x))

        print(d)

        d.to_excel('水體營養(yǎng)狀態(tài)評分.xlsx',index=False)

        #計算參評項目賦分的平均值EI,結(jié)果保留2位小數(shù)

        d=pd.read_excel('水體營養(yǎng)狀態(tài)評分.xlsx')

        d['EI(營養(yǎng)狀態(tài)指數(shù))']=d.loc[:,['葉綠素a','總磷','總氮','高錳酸鹽指數(shù)','透明度']].mean(axis=1)

        d=round(d,2)

        print(d)

        d.to_excel('水體營養(yǎng)狀態(tài)評分.xlsx',index=False)

        3.4 評價成果輸出

        按照水體營養(yǎng)狀態(tài)評價標(biāo)準(zhǔn)及分級方法,根據(jù)營養(yǎng)狀態(tài)指數(shù)EI確定水體營養(yǎng)狀態(tài)級別,生成“水體營養(yǎng)狀態(tài)評價結(jié)果.xlsx”。主要代碼如下:

        def Eutrophication_index_grade(EI):

        if 0<=EI<=20:

        return "貧營養(yǎng)"

        elif 20

        return "中營養(yǎng)"

        elif 50

        return "輕度富營養(yǎng)"

        elif 60

        return "中度富營養(yǎng)"

        elif 80

        return "重度富營養(yǎng)"

        else:

        return ""

        d=pd.read_excel('水體營養(yǎng)狀態(tài)評分.xlsx')

        d['營養(yǎng)狀態(tài)分級']=d[' EI(營養(yǎng)狀態(tài)指數(shù))'].apply(lambda x:Eutrophication_index_grade(x))

        print(d)

        d.to_excel('水體營養(yǎng)狀態(tài)評價結(jié)果.xlsx',index=False)

        3.5 必評指標(biāo)復(fù)核

        根據(jù)SL 395—2007《地表水資源質(zhì)量評價技術(shù)規(guī)程》中5.1.2的規(guī)定,“葉綠素a”為必評項目,即“葉綠素a”是否參評直接決定評價結(jié)果是否有效。因此,須對項目“葉綠素a”的參評情況進行復(fù)核。如未參評,應(yīng)標(biāo)注提示信息“葉綠素a未參評!”。必評指標(biāo)復(fù)核的代碼如下:

        def check_Chlorophyll_a(x):

        if x>=0:

        return ""

        else:

        return "葉綠素a未參評!"

        d=pd.read_excel('水體營養(yǎng)狀態(tài)評價結(jié)果.xlsx')

        print(d)

        d['必評項目復(fù)核']=d['葉綠素a'].apply(lambda x:check_Chlorophyll_a(x))

        print(d)

        d.to_excel('水體營養(yǎng)狀態(tài)評價結(jié)果.xlsx',index=False)

        4 典型案例的測試

        為實現(xiàn)評價功能可在任何其他未安裝python軟件的PC上正常運行,可使用auto-py-to-exe工具可將寫好的python代碼打包成可執(zhí)行文件“水體營養(yǎng)狀態(tài)評價系統(tǒng).exe”。將待測數(shù)據(jù)文件“原始檢測數(shù)據(jù).xlsx”(數(shù)據(jù)量為10000個樣本)置于可執(zhí)行程序所在的文件夾,運行“水體營養(yǎng)狀態(tài)評價系統(tǒng).exe”后,分別生成“水體營養(yǎng)狀態(tài)監(jiān)測成果.xlsx”“水體營養(yǎng)狀態(tài)評分.xlsx”和“水體營養(yǎng)狀態(tài)評價結(jié)果.xlsx”3個xlsx格式文件,軟件運行用時約25s。為驗證評價的有效性,同時采用傳統(tǒng)的excel、wps等軟件的函數(shù)功能按照線性插值法對案例中部分樣品進行營養(yǎng)狀態(tài)評分和分級評價。結(jié)果顯示:其評分和分級評價結(jié)果與python代碼運行結(jié)果完全一致,分級評價結(jié)果亦完全吻合。水體營養(yǎng)狀態(tài)評價系統(tǒng)測試結(jié)果見表2—4。

        表2 水體營養(yǎng)狀態(tài)監(jiān)測成果

        表3 水體營養(yǎng)狀態(tài)評分

        表4 水體營養(yǎng)狀態(tài)評價結(jié)果

        5 結(jié)語

        利用python語言將水體營養(yǎng)狀態(tài)評價方法設(shè)計成能在多種平臺上運行的水體營養(yǎng)狀態(tài)評價系統(tǒng),體現(xiàn)了水環(huán)境評價與計算機程序設(shè)計學(xué)科交叉融合的可行性?;趐ython語言設(shè)計的水體營養(yǎng)狀態(tài)評價系統(tǒng)可以在很大程度上彌補常規(guī)辦公軟件在數(shù)據(jù)處理方面的不足,尤其是在處理海量的水環(huán)境監(jiān)測數(shù)據(jù)時,python語言具有更加便捷、高效、準(zhǔn)確的優(yōu)點,在實際的水環(huán)境質(zhì)量評價工作中具有較高的應(yīng)用價值。

        猜你喜歡
        高錳酸鹽分值葉綠素
        一起來看看交通違法記分分值有什么變化
        工會博覽(2022年8期)2022-06-30 12:19:30
        從多元函數(shù)角度探討高錳酸鹽指數(shù)準(zhǔn)確度的影響因素
        云南化工(2021年6期)2021-12-21 07:31:16
        全自動高錳酸鹽指數(shù)分析儀在水環(huán)境監(jiān)測中的應(yīng)用
        中國測試(2021年4期)2021-07-16 07:49:04
        提取葉綠素
        桃樹葉綠素含量與SPAD值呈極顯著正相關(guān)
        高錳酸鹽指數(shù)測定中若干問題的探討
        葉綠素家族概述
        鍍錫板高錳酸鹽體系鈍化膜的制備及表征
        由松針制取三種葉綠素鈉鹽及其穩(wěn)定性的研究
        宿遷城鎮(zhèn)居民醫(yī)保按病種分值結(jié)算初探
        国产成人亚洲综合无码品善网| 国产精品黄页免费高清在线观看| 国产精品女同一区二区软件| 天堂中文а√在线| 国产极品美女高潮抽搐免费网站| 成人国产永久福利看片| 国产剧情亚洲一区二区三区| 中国免费看的片| 久久国产热这里只有精品| 亚洲国产成人AⅤ片在线观看| 中文乱码字幕人妻熟女人妻| 国产精品美女久久久免费| 精品人妻伦九区久久aaa片69| 日韩啪啪精品一区二区亚洲av| 日产一区二区三区的精品| 92午夜少妇极品福利无码电影| 夫妇交换刺激做爰视频| 红杏性无码免费专区| 国产亚洲av综合人人澡精品| 国产动作大片中文字幕| 日本精品一区二区三区在线视频 | 一区二区三区视频在线观看免费| 欧美性猛交xxxx富婆| 国产精品久久码一区二区| 亚洲天堂一区二区三区视频| 无码毛片内射白浆视频| 国产成人av 综合 亚洲| 91情侣在线精品国产免费| 国产自拍精品在线免费观看| 久久婷婷人人澡人人喊人人爽| 伊人22综合| av是男人的天堂免费| 十八禁无遮挡99精品国产| 蜜臀av一区二区| 亚洲av套图一区二区| 亚洲中文字幕精品乱码2021| 久久夜色精品国产噜噜麻豆| 亚洲中文久久久久无码| 麻婆视频在线免费观看| 日本怡春院一区二区三区| 人妻丰满av无码中文字幕|