999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python和R語(yǔ)言在農(nóng)機(jī)管理數(shù)據(jù)中的應(yīng)用

2021-11-30 10:39:12昌吉市濱湖鎮(zhèn)農(nóng)業(yè)發(fā)展服務(wù)中心范治璇楊樹(shù)楠余桂玲
河北農(nóng)機(jī) 2021年6期
關(guān)鍵詞:語(yǔ)言

昌吉市濱湖鎮(zhèn)農(nóng)(牧)業(yè)發(fā)展服務(wù)中心 范治璇 楊樹(shù)楠 余桂玲

Python和R作為一種高效的數(shù)據(jù)整合工具,順應(yīng)了各類(lèi)管理數(shù)據(jù)處理自動(dòng)化快速發(fā)展需求。這類(lèi)數(shù)據(jù)處理軟件要求使用者具備一定的C或C++計(jì)算機(jī)語(yǔ)言基礎(chǔ)。對(duì)于新時(shí)代農(nóng)機(jī)管理人員而言,大多具備機(jī)械電子類(lèi)教育背景,一般對(duì)C類(lèi)計(jì)算機(jī)語(yǔ)言比較熟悉,在此基礎(chǔ)上開(kāi)展Python和R的應(yīng)用已經(jīng)具備了人員素質(zhì)條件要素。Python和R語(yǔ)言環(huán)境本身具有眾多的擴(kuò)展庫(kù),其處理海量數(shù)據(jù)能力的特點(diǎn)十分適合工程技術(shù)、科研人員處理數(shù)據(jù)、制作圖表,甚至開(kāi)發(fā)科學(xué)計(jì)算應(yīng)用程序。在數(shù)據(jù)處理中應(yīng)用該程序可以有效地提高工作效率。現(xiàn)就對(duì)Python和R在農(nóng)機(jī)數(shù)據(jù)管理中的使用方法做如下介紹。

1 Python的特點(diǎn)

Python語(yǔ)言結(jié)構(gòu)比較簡(jiǎn)單,關(guān)鍵字相對(duì)其他語(yǔ)言少很多,而且語(yǔ)法定義明確,對(duì)初學(xué)者更容易掌握,學(xué)習(xí)過(guò)程較為友好。由于Python代碼定義更清晰,使其便于該軟件使用者閱讀理解。

Python的開(kāi)放源代碼特性及容易維護(hù)是它可以大范圍使用的關(guān)鍵。Python有廣泛的跨平臺(tái)的標(biāo)準(zhǔn)庫(kù),兼容UNIX、Windows和Macintosh等主流操作系統(tǒng),能移植到多重平臺(tái)。對(duì)于使用者個(gè)人不愿意開(kāi)放的一些算法,可以先使用C或C++完成算法部分的程序,然后在Python程序中調(diào)用。在互動(dòng)模式支持下,可以從終端輸入執(zhí)行代碼獲得結(jié)果以進(jìn)行互動(dòng)測(cè)試和代碼片段的調(diào)試。

2 Python在農(nóng)機(jī)管理數(shù)據(jù)處理中的使用方法

2.1 數(shù)據(jù)的橫向合并

作為一個(gè)功能完善、強(qiáng)大的語(yǔ)言python的pandas庫(kù)中的merge()支持各種內(nèi)外連接。工作表數(shù)據(jù)合并方式包括左連接、右連接、內(nèi)連接、全連接。在處理兩個(gè)表格數(shù)據(jù)時(shí),左連接是以左邊的表格為基準(zhǔn)表把右邊的數(shù)據(jù)合并過(guò)來(lái),右連接是以右邊的表格為基準(zhǔn)表把左邊的數(shù)據(jù)合并過(guò)來(lái),內(nèi)連接則是把左邊表格和右邊表格中同樣的數(shù)據(jù)類(lèi)型進(jìn)行合并,全連接則是把左邊和右邊表格全部數(shù)據(jù)都進(jìn)行合并。合并時(shí)確定一個(gè)鍵值作為變量進(jìn)行合并時(shí)的參照。

2.1.1 基本的合并方法。

合并是基于Pandas庫(kù)運(yùn)行,因此先應(yīng)將所需處理的數(shù)據(jù)導(dǎo)入pandas庫(kù)再進(jìn)行下一步操作,如有兩張工作表“D1農(nóng)機(jī)購(gòu)置補(bǔ)貼資金發(fā)放明細(xì)表2019”“D2農(nóng)機(jī)購(gòu)置補(bǔ)貼資金發(fā)放明細(xì)表2020”,先要導(dǎo)入庫(kù):importpandasaspd,然后才能將這兩個(gè)表合并起來(lái),對(duì)于表中“姓名-機(jī)型-補(bǔ)貼值”項(xiàng),鍵值為姓名,基本語(yǔ)句為:merge(D1,D2,on='姓名'),如不指定,則默認(rèn)內(nèi)連接(inner)。左連接時(shí),基本語(yǔ)句為:merge(D1,D2,on='姓名',how='left')。右連接時(shí),基本語(yǔ)句為:merge(D1,D2,on='姓名',how='right')。全合并時(shí)基本語(yǔ)句為:merge(D1,D2,on='姓名',how='outer')。以上的幾種合并,都是按照表中姓名來(lái)合并的,兩個(gè)表姓名一樣,即將這條數(shù)據(jù)合并,這個(gè)姓名被稱(chēng)為鍵值,作為一個(gè)變量被用來(lái)作為合并參照。

2.1.2 特殊情況合并方法

對(duì)于鍵值名不一樣的合并方法,如上例D1和D2表格中都有一個(gè)變量“姓名”,假如這兩個(gè)表的鍵值的名字分別為“機(jī)型”“生產(chǎn)廠(chǎng)家”,這種情況只要用left_on=和right_on=分別指定兩個(gè)鍵的名字即可,語(yǔ)句為:merge(D1,D2,left_on='機(jī)型',right_on='生產(chǎn)廠(chǎng)家')。如果上例表格D1的鍵值是變量,D2的鍵值是一個(gè)索引,合并時(shí)使用?left_index=True或?right_index=True語(yǔ)句,來(lái)聲明某個(gè)數(shù)據(jù)的索引應(yīng)該被當(dāng)作鍵值,基本語(yǔ)句為:merge(D1,D2,left_on='姓名',right_index=True)。

對(duì)于有一樣變量名的兩個(gè)數(shù)據(jù)列的合并方法。如兩個(gè)數(shù)據(jù)表有本區(qū)域數(shù)名農(nóng)機(jī)登記所有人近兩年的審驗(yàn)數(shù)據(jù),數(shù)據(jù)名為“2019農(nóng)機(jī)審驗(yàn)記錄表”“2020農(nóng)機(jī)審驗(yàn)記錄表”。生成語(yǔ)句為:2019農(nóng)機(jī)審驗(yàn)記錄表=pd.DataFrame({'姓名':[張非,李俊,王欣,趙龍],'審驗(yàn)情況':[已審驗(yàn),已審驗(yàn),已審驗(yàn),已審驗(yàn)]}),生成語(yǔ)句為:2020農(nóng)機(jī)審驗(yàn)記錄表=pd.DataFrame({'姓名':[張非,李俊,王欣,趙龍],'審驗(yàn)情況':[已審驗(yàn),未審驗(yàn),未審驗(yàn),已審驗(yàn)]})。運(yùn)行后,兩個(gè)'審驗(yàn)情況'會(huì)自動(dòng)打上后綴,一個(gè)是_x,一個(gè)是_y,使用者也可以自己加后綴,使用suffixes=()?選項(xiàng)。比如將后綴變?yōu)椋篲2019和_2020,基本語(yǔ)句為:merge(2019農(nóng)機(jī)審驗(yàn)記錄表,2020農(nóng)機(jī)審驗(yàn)記錄表,on='姓名',how='left',suffixes=('_2019','_2020’))

2.2 數(shù)據(jù)的縱向合并

縱向合并也稱(chēng)為堆疊。比如,把上述農(nóng)機(jī)購(gòu)置補(bǔ)貼資金發(fā)放明細(xì)表分成兩個(gè)部分。堆疊的基本語(yǔ)句為:concat([D1,D2]),堆疊起來(lái)的數(shù)據(jù),可以用?keys=[,]?標(biāo)記出哪部分來(lái)自D1,哪部分來(lái)自D2,基本語(yǔ)句為:concat([D1,D2],keys=['D1','D2'])。另外,還存在直接將兩個(gè)數(shù)據(jù)橫向堆在一起的橫向堆疊,其與橫向合并的區(qū)別就是指定了axis=1。

2.3 文本數(shù)據(jù)文件導(dǎo)入python的方法

文本數(shù)據(jù)文件可以直接用pandas中的pd.read_csv('filename')命令直接讀寫(xiě)。應(yīng)注意,如果直接寫(xiě)入,則會(huì)覆蓋源文件,所以在寫(xiě)之前先讀取一下文件,再進(jìn)行寫(xiě)入,則寫(xiě)入的數(shù)據(jù)會(huì)添加到文件末尾而不會(huì)替換掉原先的文件。通過(guò)read()命令讀取文件后,指針會(huì)移到文件的末尾,再寫(xiě)入數(shù)據(jù)就不會(huì)有問(wèn)題了。

3 R語(yǔ)言的特點(diǎn)

R是從S語(yǔ)言演變而來(lái)的一種基于對(duì)象的強(qiáng)類(lèi)型語(yǔ)言,是一種代碼全部公開(kāi)免費(fèi)使用的開(kāi)源軟件,可以在多種操作系統(tǒng)中運(yùn)行,其語(yǔ)法靈活、結(jié)構(gòu)簡(jiǎn)單。

R語(yǔ)言對(duì)象有多種屬性,類(lèi)是其中重要的屬性之一。最基本的類(lèi)包括數(shù)值、邏輯、字符、復(fù)數(shù)、因子,符合類(lèi)包括矩陣、數(shù)組、因子、數(shù)據(jù)框。R可以在編寫(xiě)函數(shù)和腳本后根據(jù)需要輸入命令,進(jìn)行批處理運(yùn)算。特定的分析功能需要用相應(yīng)的R程序包實(shí)現(xiàn)。每個(gè)R程序包包括R函數(shù)、數(shù)據(jù)、幫助文件、描述文件等內(nèi)容。

R語(yǔ)言編程不需要申明變量,使用者編寫(xiě)的程序可直接調(diào)用,編程靈活但區(qū)分字母大小寫(xiě),比如邏輯向量運(yùn)算:TRUE,F(xiàn)ALSE全部大寫(xiě);isTRUE(x)判斷x為T(mén)RUE。通常,一個(gè)命名必須以點(diǎn)(.)或者字母開(kāi)頭,如果以點(diǎn)(.)開(kāi)頭,第二個(gè)字符不允許是數(shù)字,但數(shù)字可以放在中間或結(jié)尾。基本命令有表達(dá)式和賦值兩種形式。命令可以用分號(hào)(;)隔開(kāi)或另起一行。基本命令用大括弧({})放在一起構(gòu)成一個(gè)復(fù)合表達(dá)式。在一行命令中,從#號(hào)開(kāi)始到句子收尾之間的語(yǔ)句是注釋。

4 R在農(nóng)機(jī)數(shù)據(jù)管理中應(yīng)用

4.1 Excel數(shù)據(jù)導(dǎo)入R的方法

第一種方法:使用剪貼板,調(diào)用read.table函數(shù),先選擇農(nóng)機(jī)管理數(shù)據(jù)Excel中的數(shù)據(jù)源,然后進(jìn)行復(fù)制;在Rstudio中輸入腳本read.table("clipboard",header=TRUE),回車(chē)即可。注:header=TRUE,表示首行為標(biāo)題行,若為FALSE則標(biāo)題行也算在正文第一行。

第二種方法:先將農(nóng)機(jī)管理數(shù)據(jù)Excel另存為csv文件,使用read.csv函數(shù)打開(kāi)Excel數(shù)據(jù)源,然后另存為Agrimachine.csv文件;然后在Rstudio中輸入代碼read.csv("C:/Users/Administrator/Desktop/Agrimachine./Agrimachine.csv",header=TRUE),回車(chē)即可。

第三種方法:將農(nóng)機(jī)管理數(shù)據(jù)Excel另存為txt文本文件,然后使用read.table函數(shù);打開(kāi)Excel數(shù)據(jù)源,另存為Agrimachine.txt文件;路徑為【C:UsersAdministratorDesktopAgrimachine】,然后在Rstudio中輸入代碼read.table("C:/Users/Administrator/Desktop/Agrimachine/Agrimachine.txt",header=TRUE),回車(chē)即可。

第四種方法:使用RODBC中的odbcConnectExcel來(lái)創(chuàng)建與Excel的連接,獲取農(nóng)機(jī)管理數(shù)據(jù)Excel中的數(shù)據(jù);由于2007、2010版xlsx格式的Excel文件導(dǎo)入R語(yǔ)言可能會(huì)出現(xiàn)錯(cuò)誤提示,可先調(diào)用xlsx包來(lái)讀取這類(lèi)版本格式的電子表格,因此在從快捷實(shí)用方面考慮還是建議采用前三種方法導(dǎo)入Excel數(shù)據(jù)。

4.2 將數(shù)據(jù)快速讀入R—readr和readxl包

readr包在R中提供了若干函數(shù)以讀取數(shù)據(jù)。通常用R中的read.table函數(shù)來(lái)完成工作表數(shù)據(jù)讀入任務(wù)。readr包提供了許多替代函數(shù),既增加了額外的一些功能也提高了運(yùn)行速度。有測(cè)試顯示,用不同的指令完成相同的任務(wù),read.table用時(shí)50.62秒,而read_table用2.76秒,其原因在于read_table把數(shù)據(jù)當(dāng)作固定格式的文件,并且利用C++快速處理數(shù)據(jù)。因有更高的效率,在一些場(chǎng)合read_table幾乎代替了read.table。

對(duì)于Excel格式的數(shù)據(jù),可以在R軟件安裝readxl包。readxl包提供的函數(shù)可以讀取.xls和.xlsx格式的工作表。其read_execl函數(shù)和readr中的函數(shù)同樣都是基于C++語(yǔ)言庫(kù)的,讀取速度迅速。需強(qiáng)調(diào)的是readxl包沒(méi)有任何的外部依賴(lài),可以不安裝Excel就可以在任意平臺(tái)上用它來(lái)讀取數(shù)據(jù)。

4.3 文本類(lèi)型文件導(dǎo)入R的方法

使用read.table函數(shù)以數(shù)據(jù)框的格式讀入.txt數(shù)據(jù),適合讀取要求每列的數(shù)據(jù)類(lèi)型相同的混合模式的數(shù)據(jù)。通常read.table只需要有文件路徑、URL或連接對(duì)象就可以讀取數(shù)據(jù),而且可以設(shè)置各類(lèi)參數(shù),所以非常方便。

數(shù)據(jù)中含有中文時(shí),導(dǎo)入前應(yīng)設(shè)置中文轉(zhuǎn)碼參數(shù),否則直接導(dǎo)入可能出現(xiàn)不識(shí)別中文情況。字符型數(shù)據(jù)讀入時(shí)會(huì)自動(dòng)轉(zhuǎn)換為因子,因子是R中的變量,由于因子只能取有限的幾個(gè)不同值,將數(shù)據(jù)保存為因子可確保模型函數(shù)能夠正確處理。但是當(dāng)變量作為簡(jiǎn)單字符串使用時(shí)可能出錯(cuò)。防止字符串轉(zhuǎn)換為因子可采用輸入?yún)?shù)、更改系統(tǒng)選項(xiàng)、指定抑制轉(zhuǎn)換的列等方式來(lái)實(shí)現(xiàn)。也可通過(guò)一個(gè)索引向量指定,或者一個(gè)邏輯向量,在需要轉(zhuǎn)換的列取值FALSE,不需要轉(zhuǎn)換的列取值TRUE。

以上,簡(jiǎn)單介紹了Python和R在農(nóng)機(jī)管理過(guò)程中進(jìn)行一些工作表格和文本數(shù)據(jù)處理的應(yīng)用場(chǎng)景,目的只是希望對(duì)廣大農(nóng)業(yè)農(nóng)機(jī)管理人員主動(dòng)掌握這些實(shí)用化數(shù)據(jù)管理工具起到拋磚引玉的推動(dòng)作用,但要想熟練掌握并使用這類(lèi)工具,就必須深入學(xué)習(xí)和參閱相關(guān)教程及文獻(xiàn),不斷在實(shí)踐中完善操作技能,舉一反三,就能極大地提升工作效率,也一定能使農(nóng)機(jī)管理技術(shù)人員順應(yīng)新時(shí)代要求并以全新面貌展現(xiàn)在世人面前。

猜你喜歡
語(yǔ)言
詩(shī)之新,以語(yǔ)言創(chuàng)造為基
語(yǔ)言是刀
文苑(2020年4期)2020-05-30 12:35:30
讓語(yǔ)言描寫(xiě)搖曳多姿
多向度交往對(duì)語(yǔ)言磨蝕的補(bǔ)正之道
累積動(dòng)態(tài)分析下的同聲傳譯語(yǔ)言壓縮
日常語(yǔ)言與播音語(yǔ)言
新聞傳播(2016年10期)2016-09-26 12:15:04
語(yǔ)言技能退化與語(yǔ)言瀕危
我有我語(yǔ)言
論語(yǔ)言的“得體”
Only Words慎用你的語(yǔ)言
主站蜘蛛池模板: 欧美精品v欧洲精品| 亚洲天堂日韩在线| 97se亚洲综合在线韩国专区福利| 亚洲小视频网站| 日韩欧美成人高清在线观看| 国产91线观看| 国产v精品成人免费视频71pao| 国产麻豆精品久久一二三| 永久毛片在线播| 亚洲色欲色欲www网| 国产毛片高清一级国语| 四虎在线观看视频高清无码| 日韩经典精品无码一区二区| 午夜无码一区二区三区在线app| 欧美成人影院亚洲综合图| 国产在线日本| 高潮毛片无遮挡高清视频播放| 国产亚洲第一页| 国产永久无码观看在线| 欧美成人日韩| 亚洲水蜜桃久久综合网站| 国产啪在线91| 夜精品a一区二区三区| 欧美人在线一区二区三区| 国产一级在线观看www色| 波多野结衣无码视频在线观看| 中文国产成人久久精品小说| 一本大道香蕉高清久久| 久久婷婷综合色一区二区| 国产综合在线观看视频| 亚洲色大成网站www国产| 国产精选自拍| 午夜激情婷婷| 欧美国产精品不卡在线观看| 国产精品视频999| 美女免费黄网站| 亚洲香蕉久久| 暴力调教一区二区三区| 性69交片免费看| 欧美国产在线看| 国产精品毛片一区| 欧美日韩国产综合视频在线观看| 亚洲无限乱码一二三四区| 天堂岛国av无码免费无禁网站| 午夜无码一区二区三区| 久久久精品国产亚洲AV日韩| 精品一区二区久久久久网站| 理论片一区| 国产福利在线观看精品| 久久精品免费国产大片| 亚洲IV视频免费在线光看| 国产精品无码久久久久AV| 亚洲国产日韩在线成人蜜芽| 国产精品2| 亚洲精品制服丝袜二区| 亚洲中文字幕无码mv| 国产性爱网站| 久久久国产精品无码专区| 欧美日韩一区二区三| 欧美日本中文| 在线国产91| 香蕉久人久人青草青草| 日韩毛片基地| 99无码中文字幕视频| AV在线天堂进入| 精品久久久久久中文字幕女| 亚洲伦理一区二区| 欧美成人第一页| 国产av无码日韩av无码网站| 久久综合九九亚洲一区| 亚洲中文字幕国产av| 性激烈欧美三级在线播放| 国模极品一区二区三区| 亚洲天堂网视频| 中文字幕亚洲精品2页| 亚洲天堂高清| 伊人成人在线视频| 成人国产精品网站在线看| 色婷婷视频在线| 日韩黄色大片免费看| 国产又粗又猛又爽视频| 亚洲三级视频在线观看|