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

        ?

        Excel VBA和Python語(yǔ)言在森林生態(tài)氣象和水文工作中的應(yīng)用與比較

        2020-02-14 22:17:56
        江西農(nóng)業(yè) 2020年15期
        關(guān)鍵詞:數(shù)據(jù)量命令水文

        李 淳

        (遼寧省森林經(jīng)營(yíng)研究所,遼寧丹東 118002)

        隨著科學(xué)技術(shù)的不斷發(fā)展,森林生態(tài)氣象和水文的觀(guān)測(cè)項(xiàng)目逐漸增加,觀(guān)測(cè)頻率也有了顯著提高。以遼東半島森林生態(tài)國(guó)家定位研究站為例,遼東半島森林生態(tài)國(guó)家定位研究站分別在大連莊河仙人洞國(guó)家級(jí)自然保護(hù)區(qū)和本溪縣本溪市草河口鎮(zhèn)設(shè)立了森林生態(tài)觀(guān)測(cè)站點(diǎn),森林氣象和水文觀(guān)測(cè)因子共計(jì)300余項(xiàng),為了提高數(shù)據(jù)處理過(guò)程中的工作效率和質(zhì)量,需要借助計(jì)算機(jī)技術(shù)來(lái)解決實(shí)際問(wèn)題。VBA和Python在很多科學(xué)研究領(lǐng)域都得到了廣泛應(yīng)用[1-8]。本文根據(jù)這兩種編輯語(yǔ)言在森林生態(tài)氣象和水文工作中的適用性進(jìn)行了分析和比較,希望能為廣大學(xué)者提供幫助。

        1 基本介紹

        VBA(Visual Basic For Application) 是 微 軟 公 司1993年開(kāi)發(fā)的一種應(yīng)用程序共享的自動(dòng)化語(yǔ)言,是Microsoft Office應(yīng)用程序下的Visual Basic的子集,“寄生”在EXCEL等應(yīng)用程序中,通過(guò)執(zhí)行Visual Basic宏命令來(lái)實(shí)現(xiàn)其功能[9]。在“自定義功能區(qū)”添加“開(kāi)發(fā)工具”后便可使用。

        Python由Guido van Rossum于1989年創(chuàng)立,其前身為ABC語(yǔ)言。Python是高級(jí)編程語(yǔ)言,創(chuàng)立的目的在于通過(guò)更加人性化的設(shè)計(jì),節(jié)約編輯時(shí)間。在實(shí)際使用中,使用者需要先安裝python程序,再通過(guò)“pip install”等方法安裝第三方庫(kù),如“pip install Numpy”,通過(guò)第三方庫(kù)的方式實(shí)現(xiàn)不同的需求。對(duì)于森林生態(tài)工作,主要依靠NumPy、scipy、matplotlib和pandas等第三方庫(kù)。NumPy為科學(xué)計(jì)算的基礎(chǔ)庫(kù),是scipy、matplotlib和pandas的依托框架;pandas是一個(gè)強(qiáng)大的分析結(jié)構(gòu)化數(shù)據(jù)工具,用于數(shù)據(jù)挖掘和數(shù)據(jù)分析,同時(shí)也提供數(shù)據(jù)清洗功能;scipy是一個(gè)用于數(shù)學(xué)、科學(xué)、工程領(lǐng)域的常用軟件包,用于科學(xué)計(jì)算和分析;matplotlib受MATLAB的啟發(fā)構(gòu)建,用于數(shù)據(jù)繪圖。Python在是近幾年發(fā)展勢(shì)頭很好的一門(mén)語(yǔ)言,近幾年一直居于tiobe流行語(yǔ)言排行榜前五名,相對(duì)于其他編程語(yǔ)言,易學(xué)、語(yǔ)句更人性話(huà)。

        2 功能比較

        2.1 數(shù)據(jù)存儲(chǔ)管理功能比較 VBA管理存儲(chǔ)數(shù)據(jù)主要有兩種方式,一是直接對(duì)Excel中數(shù)據(jù)進(jìn)行存儲(chǔ)和管理。如直接操作所在Excel文件中數(shù)據(jù),或使用Workbooks.Open Filename等命令讀取管理其他Excel中的數(shù)據(jù)。二是通過(guò)與其他數(shù)據(jù)的交互,實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ)和管理。如sql server數(shù)據(jù)庫(kù),可使用 Dim*as CreateObject設(shè)施連接屬性,創(chuàng)建與數(shù)據(jù)庫(kù)的連接,再使用INSERT INTO和Open “select*from*”完成數(shù)據(jù)的上傳和下載,實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ)管理。Python本身沒(méi)有數(shù)據(jù)存儲(chǔ)功能,通過(guò)對(duì)其他數(shù)據(jù)存儲(chǔ)文件的操作,實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和管理。如可通過(guò)pandas庫(kù)中的read_excel、read_table、read_csv、read_sql和to_excel、to_csv、to_sql實(shí)現(xiàn)數(shù)據(jù)的讀取和存儲(chǔ)功能,也可通過(guò)SQLAlchemy等第三方庫(kù)實(shí)現(xiàn)Python與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交互,進(jìn)而對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)管理。需要注意的是,VBA和Python在與不同的數(shù)據(jù)庫(kù)進(jìn)行交互時(shí),連接工具和命令略有不同。

        2.2 數(shù)據(jù)分析處理能力比較 在分析處理少量數(shù)據(jù)時(shí),可直接使用Cells(row,column)命令對(duì)單元格進(jìn)行操作。在處理大量數(shù)據(jù)時(shí),如直接對(duì)單元格操作會(huì)受硬盤(pán)讀取速度影響,嚴(yán)重影響數(shù)據(jù)分析處理速度,此時(shí)可使用Dim arr as array命令定義并創(chuàng)建數(shù)組,將數(shù)據(jù)分批次讀取到內(nèi)存中,在內(nèi)存中對(duì)數(shù)組進(jìn)行計(jì)算,最后使用range(Cells(row,column),Cells(row,column))=arr()命令將結(jié)果存儲(chǔ)到sheet中。數(shù)據(jù)量越大,越能體現(xiàn)數(shù)組操作的優(yōu)勢(shì)。在數(shù)據(jù)分析過(guò)程中,使用for…next;do…loop;while等命令對(duì)單元格數(shù)據(jù)或數(shù)組數(shù)據(jù)逐一進(jìn)行遍歷運(yùn)算,使用if…then…endif在遍歷過(guò)程中進(jìn)行判斷和數(shù)據(jù)篩選,最后使用sum,max,min等命令實(shí)現(xiàn)簡(jiǎn)單的統(tǒng)計(jì)運(yùn)算。

        Python在分析處理數(shù)據(jù)時(shí),先使用pandas讀取數(shù)據(jù),讀取后數(shù)據(jù)結(jié)構(gòu)為DataFrame數(shù)據(jù)結(jié)構(gòu)。在處理過(guò)程中,除了可以使用for,if命令進(jìn)行遍歷循環(huán)判斷外,還可以groupby()等命令對(duì)數(shù)據(jù)進(jìn)行篩選,大大降低了編譯難度和時(shí)間。受NumPy、scipy和pandas等第三方庫(kù)的支持,Python比VBA的數(shù)據(jù)統(tǒng)計(jì)分析功能更加豐富。

        2.3 數(shù)據(jù)可視化比較 VBA可以較為直觀(guān)地在Excel中顯示數(shù)據(jù)分析處理過(guò)程,在sheet頁(yè)面直接進(jìn)行數(shù)據(jù)展示,也可繪制散點(diǎn)圖、柱狀圖等常用圖形進(jìn)行數(shù)據(jù)可視化。Python本身無(wú)數(shù)據(jù)存儲(chǔ)功能,不能直接進(jìn)行數(shù)據(jù)展示,只能借助Excel、圖片或其他軟件窗口的方式展示數(shù)據(jù)。Python使用matplotlib等第三方庫(kù)完成數(shù)據(jù)繪圖,Matplotlib可繪制的圖形樣式基本涵蓋了matlab和R中的所有圖像,因此Python可繪制圖像更加多樣,更加精確地實(shí)現(xiàn)數(shù)據(jù)可視化。

        2.4 運(yùn)算能力比較 在數(shù)據(jù)處理量方面,VBA是Visual Basic在Office上的應(yīng)用,受Office框架影響,VBA單次可讀取和處理數(shù)據(jù)量相對(duì)較少。Python脫落框架限制,可處理數(shù)據(jù)量遠(yuǎn)遠(yuǎn)大于VBA。在數(shù)據(jù)處理速度方面,python是較高級(jí)的語(yǔ)言,簡(jiǎn)單的運(yùn)算,VBA的速度較為更快。但在處理較為大量復(fù)雜的數(shù)據(jù)時(shí),Python的運(yùn)算速度和能力表現(xiàn)更為優(yōu)越。

        2.5 擴(kuò)展功能與應(yīng)用比較 Excel VBA較為重視數(shù)據(jù)展示,成品制作過(guò)程相對(duì)簡(jiǎn)單,操作簡(jiǎn)單方便,可移植性強(qiáng)。制作出來(lái)的成品無(wú)需培訓(xùn)學(xué)講即可推廣使用。Python推廣難度相對(duì)較大,需要先進(jìn)行培訓(xùn)學(xué)習(xí)。但Python可以制作出更為復(fù)雜的數(shù)據(jù)分析模型,也可制作軟件成品進(jìn)行推廣使用。Python可以融合多種編程語(yǔ)言進(jìn)行混合編譯,功能更多,可應(yīng)用范圍更廣。

        3 結(jié)語(yǔ)

        從森林生態(tài)氣象和水文數(shù)據(jù)處理實(shí)際工作需求出發(fā),Excel VBA和Python語(yǔ)言都有各自?xún)?yōu)秀的適用性。VBA具有易入門(mén)、操作直觀(guān)、可傳閱性高的特點(diǎn),是小型數(shù)據(jù)和常規(guī)研究最高效的選擇,遇到不熟悉的函數(shù)命令式,可通過(guò)錄制宏的方式進(jìn)行針對(duì)性學(xué)習(xí)和應(yīng)用。Python可以完成更復(fù)雜的設(shè)計(jì)方案和計(jì)算工作。

        猜你喜歡
        數(shù)據(jù)量命令水文
        2022年《中國(guó)水文年報(bào)》發(fā)布
        只聽(tīng)主人的命令
        基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
        計(jì)算Lyapunov指數(shù)的模糊C均值聚類(lèi)小數(shù)據(jù)量法
        高刷新率不容易顯示器需求與接口標(biāo)準(zhǔn)帶寬
        水文
        水文水資源管理
        寬帶信號(hào)采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計(jì)與研究
        電子制作(2019年13期)2020-01-14 03:15:18
        移防命令下達(dá)后
        水文
        欧洲日韩视频二区在线| 国产综合久久久久久鬼色| 国产精品免费观看久久| 99热精品国产三级在线观看| 成人女同av免费观看| 亚洲精品视频中文字幕| 亚欧色一区w666天堂| 欧美成人免费高清视频 | 少妇一区二区三区乱码| 亚洲最大在线视频一区二区| 少妇厨房愉情理伦bd在线观看 | 精品综合久久久久久888蜜芽 | 中年人妻丰满AV无码久久不卡| 成人性生交大片免费看7| 久久久极品少妇刺激呻吟网站| 97久久精品无码一区二区天美| 91网站在线看| 日本中文字幕人妻精品| 香蕉成人伊视频在线观看| 日本丰满熟妇bbxbbxhd| 成人在线免费视频亚洲| 精品精品国产一区二区性色av| 成人a级视频在线播放| 免费人成视频在线观看视频| 亚洲va中文字幕欧美不卡| 刚出嫁新婚少妇很紧很爽| 国产又色又爽又刺激在线播放| 国产白丝网站精品污在线入口| 日本熟妇免费一区二区三区| 少妇无码av无码专线区大牛影院| 毛茸茸的中国女bbw| 国产9 9在线 | 免费| 曰日本一级二级三级人人| 国产伦精品一区二区三区妓女| 久久免费国产精品| 国产白浆流出一区二区| 国产99久久久国产精品~~牛| 一本大道久久香蕉成人网| 精品人妻免费看一区二区三区| 国产精品对白一区二区三区| 人妻少妇边接电话边娇喘|