我可以使用shell
命令从Stata内部运行Python文件:
shell python script.py
但是,这不允许使用Stata轻松地来回传递结果。
有没有一种方法可以在Python中执行计算并直接在Stata中传输结果?
最佳答案
您可以使用社区提供的Python in Stata插件:
“简而言之,该插件使Stata用户能够使用Python与Stata数据值,矩阵,宏和数字标量进行交互。该插件可以在Stata GUI中交互使用,或者可以用于执行Python文件。Python文件可以单独使用,也可以与Stata .ado或.do文件结合使用。”
作者的GitHub页面上提供的示例:
. sysuse auto
(1978 Automobile Data)
. list make-head in 1
+----------------------------------------------+
| make price mpg rep78 headroom |
|----------------------------------------------|
1. | AMC Concord 4,099 22 3 2.5 |
+----------------------------------------------+
. scalar s = 1234.5
. python
--------------------------- python (type exit() to exit) ---
. st_numscalar("s")
1234.5
. st_isstrvar(0)
True
. _st_sdata(0, 0)
'AMC Concord'
. st_isnumvar(1)
True
. _st_data(0, 1)
4099.0
. exit()
------------------------------------------------------------
在该插件的广泛的documentation中可以找到更多示例。
编辑:
Stata 16+包含插件的增强版本,已集成为内置
python
环境。
关于python - 将Python连接到Stata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51974085/