百度彩票

  • <tr id='ThJKhR'><strong id='ThJKhR'></strong><small id='ThJKhR'></small><button id='ThJKhR'></button><li id='ThJKhR'><noscript id='ThJKhR'><big id='ThJKhR'></big><dt id='ThJKhR'></dt></noscript></li></tr><ol id='ThJKhR'><option id='ThJKhR'><table id='ThJKhR'><blockquote id='ThJKhR'><tbody id='ThJKhR'></tbody></blockquote></table></option></ol><u id='ThJKhR'></u><kbd id='ThJKhR'><kbd id='ThJKhR'></kbd></kbd>

    <code id='ThJKhR'><strong id='ThJKhR'></strong></code>

    <fieldset id='ThJKhR'></fieldset>
          <span id='ThJKhR'></span>

              <ins id='ThJKhR'></ins>
              <acronym id='ThJKhR'><em id='ThJKhR'></em><td id='ThJKhR'><div id='ThJKhR'></div></td></acronym><address id='ThJKhR'><big id='ThJKhR'><big id='ThJKhR'></big><legend id='ThJKhR'></legend></big></address>

              <i id='ThJKhR'><div id='ThJKhR'><ins id='ThJKhR'></ins></div></i>
              <i id='ThJKhR'></i>
            1. <dl id='ThJKhR'></dl>
              1. <blockquote id='ThJKhR'><q id='ThJKhR'><noscript id='ThJKhR'></noscript><dt id='ThJKhR'></dt></q></blockquote><noframes id='ThJKhR'><i id='ThJKhR'></i>
                教育装备采购网
                第六△届图书馆论坛580*60

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口◥将数据从Stata复制到Python

                教育装备采购网 2021-04-09 08:46 围观2536次

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从※Stata复制到Python

                  文 / Chuck Huber, Director of Statistical Outreach at StataCorp

                  导读

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

                  在作者以前的文章中,使用read_stata()方法将Stata数据集读入pandas 数据框中。当您想将整个Stata数据集读入Python时,这很好用。但是有时我们希望从Stata数据集中读取变量或观察值的子集,或同时读取两←者。在本文中,作者将向您介绍Stata Function Interface(SFI)模块,并向您展示如何使用它来将部分数据集读入pandas数据框中。

                  如果您不熟悉Python,那么在继续阅读之前,请阅读作者的Stata / Python集成系列文章的前四篇文章可能会有所帮助。

                • 设置Stata以使用Python

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

                • 如何安装Python套件

                • 如何使用Python套件

                  使用SFI模块将数据从Stata移至Python

                  该SFI 是一个Python模块,使您可以传递信息来回塔塔和Python之间。您可以复制整个或部分▲数据集,数据框,局部和全局宏,标量和矩阵,甚至全局Mata矩阵。一篇博客文章中没有太多功能可以显示给您。因此,今天我将向您展示您可能会使用的功能:将部分Stata数据集读取到Python中。我们将在以后○的文章中探索更多的SFI功能。

                  让我们通过使用自动数据集开始下面的代码块。接下来,让我们进入Python环境并从SFI模块导入Data类。然后,我们将↓使用Data类中的get()方法将外部变量复制到名为dataraw的Python列表对象中。get()方法的第1个参数是放在单引号中的Stata变量列表。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  Python输出向我们显示,列表对象dataraw包含Stata变量foreign的数据。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  指定观察范围

                  get()方法的第二个√参数允许我们指定观察范围。我在下面的代码块中使用range()函数来指定观察值46到56。请注意,我还将mpgrep78添加到了变量列表中。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  Python输出显示dataraw仅包含mpg小于20的观察值。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  获取价值标签而不是数字

                  在Stata变量的值国外标有“Domestic”0“foreign”1

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  我们的Python列表对象dataraw仅存储基础数字值0和1,但我们可能更喜欢使用标签。get()的第四个参数允许我们将Stata变量的值标签传递给Python,而不是数字。我在下面的代码块中指定了valuelabel = True,以将值标签传递给Python。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  下面的Python输出向我们展示了dataraw现在包含单词“ Domestic”和“ Foreign”。请注意,这些是字■符串,而不是带标签的数字值。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  为缺失值指定一个数字

                  get()的第五个参数允许我们为丢失的数据指定一个值。回想一下,Stata将缺失值存储为数字存储类型的zui大可能值。Stata变量rep78作为双精度数字变量存储,zui大值为8.98846567431158e + 307。浮点数值变ㄨ量的zui大值为1.70141173319e + 38,长变量的zui大值为2,147,483,620,int变量的zuida值为32,740,字节变量的zui大值为100。因此,a的精确值缺失值取决于变量的存储类型。

                  Python不会将这些数字识别为缺失值。Python将8.98846567431158e + 307解释为数≡字。Python中缺少的数字值通常用Numpy的特殊浮点值“ nan”表示,该值zui初是由电气和电子工程师协会在IEEE 754-1985标准中定义的。通过为get()的第五个参数指定missingval = np.nan,我们可以告诉Python 8.98846567431158e + 307不是“数字”(nan)

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  Python的输出♂下面显示了数8.98846567431158e + 307dataraw已被替换numpy的特殊浮点值“nan”

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  将列表对象转换为pandas数据框

                  我们已经使用get()将我们的Stata数据集的一部分复制到名为dataraw的Python列表对象中。接下来,让我们将列表对象转换为pandas数据框。

                  我们首先使用别名◎pd导入pandas。然后,我们可以通过键入dataframe = pd.DataFrame(dataraw)来创建一个数据框架。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  下面的Python输出显示数据框dataframe。标记为0、1和2的列分别是变量foreignmpgrep78。左侧的未标记列是pandas创建的索引,用于唯1标识每一行。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  标记数据框的列

                  我们≡可以使用DataFrame()方法中的columns选项标记数据框的@列。列名列表必须用方括号括起来,并且每个列名都必须用单引号括起来并用逗号分隔。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  下面的Python输出显示,数据框中的第二,第三和第四列现在分别命名为foreignmpgrep78

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  从1开始数据帧索引

                  Python使用从零开始的数组索引,这意味着行数和列数@ 以0而不是1开头。因此,pandas自动创建了以0开头的行索引。如果您对索引的开头感到满意,则可以跳到下一部分。或者,您可以使用DataFrame()方法中的index选项将索引≡更改为以1开头。

                  我们将在Numpy模块中使用arange()方法指定索引。第1个参数是行索引的第1个元素,即1。第二个参数是行索引的Zui后一个元素。我们可以简单地键入6,因为在我们的数据框中有6行。但是,下一次我们运行代码时,此数字可能会更改。我们可以使用len()方法来计算列表对象dataraw的长度。而且我们必须在dataraw的长度上加1,因为Python从0开始计数。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  下面的Python输出向我们显示,数据帧的索引现在从1开始,以6结尾。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  使用getAsDict()

                  您还可以使用getAsDict()将Stata数据复制到Python字典中。参数与get()相同,并且生成的字典包含Stata变量的名称。这意味着在将字典转换为数据框时,我们不必命名列。创建以1开头的数据帧索引的方法有所不同,因为字典的长度不是Stata观测值的数量。在下面的代码块中,我将obs定义为字典dataraw中值列表的长度。我使用了next()iter()函数来遍历字典dataraw中的值。我又加了1,因为Python从0开始计数。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  下面的Python输出显示,生成的数据框看起来非常类似于我们使用get()创建的数据框。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  只是基础

                  也许您不希望限制样本,也不介意从零开始的索引。您只想将变量集合复制到Python中的pandas数据框中。下面的代码块将执行此操作,并将Stata缺失值转换为Python缺失值。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  下面的输出显示数据框dataframe,它准备好进行图形化或数据分析。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  结论

                  我们做到了!我们使用SFI模块的Data类中的get()getAsDict()方法将Stata数据集的一部分复制到Python数据框中。我们甚至考虑了丢失的数据。每当我们想将Python合并到我们的数据管理,分析或』报告中时,都可以在我们的do文件,ado文件和Python脚本中轻松使用get()getAsDict()。下次,我将向您展示如何使用SFI将数据从Python复制到Stata数据集中。

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  为了帮助大家更好的了解Stata软件,特开放试用申请,请自动识别上方二维码,并确保申请信息的正确性,其中 * 号为必填项,我们︼将通过您提交的电子邮箱地址发送许可信息,感谢您『的支持。

                  Stata 软件订购

                  北京友万信息科技有限公司作为Stata软件在中国大陆的授权经销商及合作伙伴,希望能给Stata中国用户提供更多服务与支持,并帮助中国用户建立完善的软件售后服务体系。如需Stata V16新版本采购及老版本更新升级请联系我们,感谢您的支持与关注。手机/微信:18610597626 邮箱: crystal@uone-tech.cn

                【Stata专栏】Stata / Python集成第8部分:使用Stata函数接口将数据从Stata复制到Python

                  专注分享商业数据分析、金融数据分析、应用统计分析、知识图谱、机器学习、计量经济、人工智能、网络爬虫、自动︼化报告与可重复研究等热门技术内容。定向培养Stata、Python、R语言数据人才,助力产学研政企商协同发展,为中国大数据产业蓄能。合作热线:010-56451129 邮箱:info@uone-tech.cn。

                点击进入北京友万信息科技有限公司展台查看更多 来源:教育装备采购网 作者:北京友万信息科技有限公司 责任编辑:逯红栋 我要投稿
                普教会专〓题840*100

                相关阅读

                版权与免责声明:

                ① 凡本网注明"来源:教育装备采购网"的所有㊣ 作品,版权均属于教育装备采购网,未经本网授权不得转载、摘编或利用其它方式使用。已获本网授权的作品,应在授权范围内使用,并注明"来源:教育装备采购网"。违者本网将追究相关法律责任。

                ② 本网↓凡注明"来源:XXX(非本网)"的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,且不承担此类作品侵权行为的直接责任及连带责任。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。

                ③ 如涉及作品内容、版权等问题,请在作品发表之日起两周内与本∞网联系,否则视为放弃相关权利。

                2022云展会300*245