国产aV无码片毛片一级韩国,午夜草草视频在线播放,中国人妻少妇精品一区二区,在线视频播放一区二区三区,一区二区三区久久av,日韩人妻系列中文字幕,国产av综合av亚洲av,欧美多人啊啊啊啊污污视频,国产大鸡巴插女生b视频

教育裝備采購(gòu)網(wǎng)
第八屆圖書(shū)館論壇 校體購(gòu)2

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

教育裝備采購(gòu)網(wǎng) 2021-04-09 08:46 圍觀2866次

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  文 / Chuck Huber, Director of Statistical Outreach at StataCorp

  導(dǎo)讀

  ——————————————————————————————————————————————————————

  在作者以前的文章中,使用read_stata()方法將Stata數(shù)據(jù)集讀入pandas 數(shù)據(jù)框中。當(dāng)您想將整個(gè)Stata數(shù)據(jù)集讀入Python時(shí),這很好用。但是有時(shí)我們希望從Stata數(shù)據(jù)集中讀取變量或觀察值的子集,或同時(shí)讀取兩者。在本文中,作者將向您介紹Stata Function Interface(SFI)模塊,并向您展示如何使用它來(lái)將部分?jǐn)?shù)據(jù)集讀入pandas數(shù)據(jù)框中。

  如果您不熟悉Python,那么在繼續(xù)閱讀之前,請(qǐng)閱讀作者的Stata / Python集成系列文章的前四篇文章可能會(huì)有所幫助。

  • 設(shè)置Stata以使用Python

  • 在Stata中使用Python的三種方法

  • 如何安裝Python套件

  • 如何使用Python套件

  使用SFI模塊將數(shù)據(jù)從Stata移至Python

  該SFI 是一個(gè)Python模塊,使您可以傳遞信息來(lái)回塔塔和Python之間。您可以復(fù)制整個(gè)或部分?jǐn)?shù)據(jù)集,數(shù)據(jù)框,局部和全局宏,標(biāo)量和矩陣,甚至全局Mata矩陣。一篇博客文章中沒(méi)有太多功能可以顯示給您。因此,今天我將向您展示您可能會(huì)使用的功能:將部分Stata數(shù)據(jù)集讀取到Python中。我們將在以后的文章中探索更多的SFI功能。

  讓我們通過(guò)使用自動(dòng)數(shù)據(jù)集開(kāi)始下面的代碼塊。接下來(lái),讓我們進(jìn)入Python環(huán)境并從SFI模塊導(dǎo)入Data類。然后,我們將使用Data類中的get()方法將外部變量復(fù)制到名為dataraw的Python列表對(duì)象中。get()方法的第1個(gè)參數(shù)是放在單引號(hào)中的Stata變量列表。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  Python輸出向我們顯示,列表對(duì)象dataraw包含Stata變量foreign的數(shù)據(jù)。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  指定觀察范圍

  get()方法的第二個(gè)參數(shù)允許我們指定觀察范圍。我在下面的代碼塊中使用range()函數(shù)來(lái)指定觀察值46到56。請(qǐng)注意,我還將mpgrep78添加到了變量列表中。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  Python輸出顯示dataraw僅包含mpg小于20的觀察值。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  獲取價(jià)值標(biāo)簽而不是數(shù)字

  在Stata變量的值國(guó)外標(biāo)有“Domestic”0“foreign”1。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  我們的Python列表對(duì)象dataraw僅存儲(chǔ)基礎(chǔ)數(shù)字值0和1,但我們可能更喜歡使用標(biāo)簽。get()的第四個(gè)參數(shù)允許我們將Stata變量的值標(biāo)簽傳遞給Python,而不是數(shù)字。我在下面的代碼塊中指定了valuelabel = True,以將值標(biāo)簽傳遞給Python。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  下面的Python輸出向我們展示了dataraw現(xiàn)在包含單詞“ Domestic”和“ Foreign”。請(qǐng)注意,這些是字符串,而不是帶標(biāo)簽的數(shù)字值。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  為缺失值指定一個(gè)數(shù)字

  get()的第五個(gè)參數(shù)允許我們?yōu)閬G失的數(shù)據(jù)指定一個(gè)值?;叵胍幌拢琒tata將缺失值存儲(chǔ)為數(shù)字存儲(chǔ)類型的zui大可能值。Stata變量rep78作為雙精度數(shù)字變量存儲(chǔ),zui大值為8.98846567431158e + 307。浮點(diǎn)數(shù)值變量的zui大值為1.70141173319e + 38,長(zhǎng)變量的zui大值為2,147,483,620,int變量的zuida值為32,740,字節(jié)變量的zui大值為100。因此,a的精確值缺失值取決于變量的存儲(chǔ)類型。

  Python不會(huì)將這些數(shù)字識(shí)別為缺失值。Python將8.98846567431158e + 307解釋為數(shù)字。Python中缺少的數(shù)字值通常用Numpy的特殊浮點(diǎn)值“ nan”表示,該值z(mì)ui初是由電氣和電子工程師協(xié)會(huì)在IEEE 754-1985標(biāo)準(zhǔn)中定義的。通過(guò)為get()的第五個(gè)參數(shù)指定missingval = np.nan,我們可以告訴Python 8.98846567431158e + 307不是“數(shù)字”(nan)。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  Python的輸出下面顯示了數(shù)8.98846567431158e + 307dataraw已被替換numpy的特殊浮點(diǎn)值“nan”。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  將列表對(duì)象轉(zhuǎn)換為pandas數(shù)據(jù)框

  我們已經(jīng)使用get()將我們的Stata數(shù)據(jù)集的一部分復(fù)制到名為dataraw的Python列表對(duì)象中。接下來(lái),讓我們將列表對(duì)象轉(zhuǎn)換為pandas數(shù)據(jù)框。

  我們首先使用別名pd導(dǎo)入pandas。然后,我們可以通過(guò)鍵入dataframe = pd.DataFrame(dataraw)來(lái)創(chuàng)建一個(gè)數(shù)據(jù)框架。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  下面的Python輸出顯示數(shù)據(jù)框dataframe。標(biāo)記為0、1和2的列分別是變量foreign,mpgrep78。左側(cè)的未標(biāo)記列是pandas創(chuàng)建的索引,用于唯1標(biāo)識(shí)每一行。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  標(biāo)記數(shù)據(jù)框的列

  我們可以使用DataFrame()方法中的columns選項(xiàng)標(biāo)記數(shù)據(jù)框的列。列名列表必須用方括號(hào)括起來(lái),并且每個(gè)列名都必須用單引號(hào)括起來(lái)并用逗號(hào)分隔。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  下面的Python輸出顯示,數(shù)據(jù)框中的第二,第三和第四列現(xiàn)在分別命名為foreignmpgrep78。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  從1開(kāi)始數(shù)據(jù)幀索引

  Python使用從零開(kāi)始的數(shù)組索引,這意味著行數(shù)和列數(shù)以0而不是1開(kāi)頭。因此,pandas自動(dòng)創(chuàng)建了以0開(kāi)頭的行索引。如果您對(duì)索引的開(kāi)頭感到滿意,則可以跳到下一部分?;蛘?,您可以使用DataFrame()方法中的index選項(xiàng)將索引更改為以1開(kāi)頭。

  我們將在Numpy模塊中使用arange()方法指定索引。第1個(gè)參數(shù)是行索引的第1個(gè)元素,即1。第二個(gè)參數(shù)是行索引的Zui后一個(gè)元素。我們可以簡(jiǎn)單地鍵入6,因?yàn)樵谖覀兊臄?shù)據(jù)框中有6行。但是,下一次我們運(yùn)行代碼時(shí),此數(shù)字可能會(huì)更改。我們可以使用len()方法來(lái)計(jì)算列表對(duì)象dataraw的長(zhǎng)度。而且我們必須在dataraw的長(zhǎng)度上加1,因?yàn)镻ython從0開(kāi)始計(jì)數(shù)。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  下面的Python輸出向我們顯示,數(shù)據(jù)幀的索引現(xiàn)在從1開(kāi)始,以6結(jié)尾。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  使用getAsDict()

  您還可以使用getAsDict()將Stata數(shù)據(jù)復(fù)制到Python字典中。參數(shù)與get()相同,并且生成的字典包含Stata變量的名稱。這意味著在將字典轉(zhuǎn)換為數(shù)據(jù)框時(shí),我們不必命名列。創(chuàng)建以1開(kāi)頭的數(shù)據(jù)幀索引的方法有所不同,因?yàn)樽值涞拈L(zhǎng)度不是Stata觀測(cè)值的數(shù)量。在下面的代碼塊中,我將obs定義為字典dataraw中值列表的長(zhǎng)度。我使用了next()iter()函數(shù)來(lái)遍歷字典dataraw中的值。我又加了1,因?yàn)镻ython從0開(kāi)始計(jì)數(shù)。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  下面的Python輸出顯示,生成的數(shù)據(jù)框看起來(lái)非常類似于我們使用get()創(chuàng)建的數(shù)據(jù)框。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  只是基礎(chǔ)

  也許您不希望限制樣本,也不介意從零開(kāi)始的索引。您只想將變量集合復(fù)制到Python中的pandas數(shù)據(jù)框中。下面的代碼塊將執(zhí)行此操作,并將Stata缺失值轉(zhuǎn)換為Python缺失值。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  下面的輸出顯示數(shù)據(jù)框dataframe,它準(zhǔn)備好進(jìn)行圖形化或數(shù)據(jù)分析。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  結(jié)論

  我們做到了!我們使用SFI模塊的Data類中的get()getAsDict()方法將Stata數(shù)據(jù)集的一部分復(fù)制到Python數(shù)據(jù)框中。我們甚至考慮了丟失的數(shù)據(jù)。每當(dāng)我們想將Python合并到我們的數(shù)據(jù)管理,分析或報(bào)告中時(shí),都可以在我們的do文件,ado文件和Python腳本中輕松使用get()getAsDict()。下次,我將向您展示如何使用SFI將數(shù)據(jù)從Python復(fù)制到Stata數(shù)據(jù)集中。

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  為了幫助大家更好的了解Stata軟件,特開(kāi)放試用申請(qǐng),請(qǐng)自動(dòng)識(shí)別上方二維碼,并確保申請(qǐng)信息的正確性,其中 * 號(hào)為必填項(xiàng),我們將通過(guò)您提交的電子郵箱地址發(fā)送許可信息,感謝您的支持。

  Stata 軟件訂購(gòu)

  北京友萬(wàn)信息科技有限公司作為Stata軟件在中國(guó)大陸的授權(quán)經(jīng)銷商及合作伙伴,希望能給Stata中國(guó)用戶提供更多服務(wù)與支持,并幫助中國(guó)用戶建立完善的軟件售后服務(wù)體系。如需Stata V16新版本采購(gòu)及老版本更新升級(jí)請(qǐng)聯(lián)系我們,感謝您的支持與關(guān)注。手機(jī)/微信:18610597626 郵箱: crystal@uone-tech.cn

【Stata專欄】Stata / Python集成第8部分:使用Stata函數(shù)接口將數(shù)據(jù)從Stata復(fù)制到Python

  專注分享商業(yè)數(shù)據(jù)分析、金融數(shù)據(jù)分析、應(yīng)用統(tǒng)計(jì)分析、知識(shí)圖譜、機(jī)器學(xué)習(xí)、計(jì)量經(jīng)濟(jì)、人工智能、網(wǎng)絡(luò)爬蟲(chóng)、自動(dòng)化報(bào)告與可重復(fù)研究等熱門技術(shù)內(nèi)容。定向培養(yǎng)Stata、Python、R語(yǔ)言數(shù)據(jù)人才,助力產(chǎn)學(xué)研政企商協(xié)同發(fā)展,為中國(guó)大數(shù)據(jù)產(chǎn)業(yè)蓄能。合作熱線:010-56451129 郵箱:info@uone-tech.cn。

點(diǎn)擊進(jìn)入北京友萬(wàn)信息科技有限公司展臺(tái)查看更多 來(lái)源:教育裝備采購(gòu)網(wǎng) 作者:北京友萬(wàn)信息科技有限公司 責(zé)任編輯:逯紅棟 我要投稿
校體購(gòu)終極頁(yè)

相關(guān)閱讀

版權(quán)與免責(zé)聲明:

① 凡本網(wǎng)注明"來(lái)源:教育裝備采購(gòu)網(wǎng)"的所有作品,版權(quán)均屬于教育裝備采購(gòu)網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。已獲本網(wǎng)授權(quán)的作品,應(yīng)在授權(quán)范圍內(nèi)使用,并注明"來(lái)源:教育裝備采購(gòu)網(wǎng)"。違者本網(wǎng)將追究相關(guān)法律責(zé)任。

② 本網(wǎng)凡注明"來(lái)源:XXX(非本網(wǎng))"的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),且不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)下載使用,必須保留本網(wǎng)注明的"稿件來(lái)源",并自負(fù)版權(quán)等法律責(zé)任。

③ 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起兩周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

校體購(gòu)產(chǎn)品