|
Stata/Python 集成第二部分:在 Stata 中使用 Python 的三种方法
在上篇文章中,我向您展示了如何安装 Python 并设置 Stata 以使用 Python。现在,我们已经准备好使用 Python 了。在 Stata 中有三种使用 Python 的方式:交互式调用 Python、在 do-files 和 ado-files 中包含 Python 代码,以及执行 Python 脚本文件。每种方式在不同情况下都很有用,所以我将演示所有三种方式。示例故意保持简单且有些幼稚。我将在未来的文章中向您展示一些更复杂的示例,但在这篇文章中,我想保持简单。 交互式调用 Python您可以在 Stata 的 Command 窗口中输入 python 来在 Stata 内部交互式使用 Python。 . python ----------------------------------------------- python (type end to exit) ------ Stata 会提醒您完成后可以输入 end 来退出 Python。现在您可以在 Command 窗口中输入 Python 代码。例如,您可以指示 Python 打印一个短语。 >>> print("Hello Stata, I am Python")
Hello Stata, I am Python
您还可以将 Python 用作交互式计算器。 >>> 2*3 6 >>> 3*4 12 然后,您可以输入 end 来退出 Python 并返回 Stata。 >>> end -------------------------------------------------------------------------------- 您也可以简单地输入 python: 后跟一个 Python 语句。Python 将运行该语句,然后返回 Stata。这是一个简单的示例: . python: print("Hello Stata, I am Python")
Hello Stata, I am Python
您还可以使用此语法进行快速计算: . python: 2*3 6 在 do-files 和 ado-files 中使用 Python您可以在 do-files 和 ado-files 中使用 python: 后跟一个简单命令,例如 . python: print("Hello Stata, I am Python")
就像可以交互式使用一样。 您还可以使用 Python 代码块在 do-files 和 ado-files 中运行多个 Python 语句。Python 代码块以 python 开始,以 end 结束,正如我们在上面的交互式示例中所看到的那样。下面的示例 1 是一个 do-file,它以 Stata display 命令开始,使用 python 开始 Python 代码块,执行两个 Python print() 语句,使用 end 结束 Python 代码块,并以 Stata display 命令结束。 示例 1:hello.do display "Hello Python, I am Stata."
python
print("Hello Stata.")
print("I am Python.")
end
display "Nice to meet you Python!"
当我们输入 do hello 时,很容易在输出中看到 Python 代码块,因为代码块以虚线行开始和结束。 . display "Hello Python, I am Stata."
Hello Python, I am Stata.
. python
----------------------------------------------- python (type end to exit) ------
>>> print("Hello Stata.")
Hello Stata.
>>> print("I am Python.")
I am Python.
>>> end
--------------------------------------------------------------------------------
. display "Nice to meet you Python!"
Nice to meet you Python!
关于代码块有两件重要的事情需要了解。首先,您可以使用 python 或 python: 开始代码块。两者都会运行代码块,但如果 Python 在代码块内遇到错误,它们的行为会有所不同。如果您使用 python 开始代码块且 Python 遇到错误,Python 将继续执行代码块中的剩余代码。如果您使用 python: 开始代码块且 Python 遇到错误,Python 将在不执行剩余 Python 代码的情况下将控制权返回给 Stata。在这两种情况下,都会打印堆栈跟踪并发出错误代码。 其次,Python 代码块内的缩进是功能性的而非美学的。例如,您可能想编写一个 Python 代码块并对块内的代码进行缩进,如示例 2 所示。 示例 2:hello2.do display "Hello Python, I am Stata."
python:
print("Hello Stata.")
print("I am Python.")
end
display "Nice to meet you Python!"
但是 Python 使用缩进来"确定语句的分组"(Python 文档 2.1.7)。当我们运行示例 2 时,Python 会返回一个缩进错误。 . display "Hello Python, I am Stata."
Hello Python, I am Stata.
. python:
----------------------------------------------- python (type end to exit) ------
>>> print("Hello Stata.")
File "
您可以在 Python 文档中阅读有关缩进使用的更多信息。 运行 Python 脚本您还可以在 Stata 中运行 Python 脚本。Python 脚本只是保存在扩展名为 .py 的文件中的一组 Python 语句。示例 3 显示了名为 hello.py 的 Python 脚本的内容。 示例 3:hello.py print("Hello Stata.")
print("I am Python.")
我们可以通过输入 python script 后跟我们要运行的脚本来运行 Python 脚本。 . python script hello.py Hello Stata. I am Python. 这种在 Stata 中运行 Python 的方法在遇到由其他人编写的 Python 脚本时很有用。它对于保存一组 Python 函数也很有用。我将在未来的博客文章中向您展示如何将参数从 Stata 传递给 Python 脚本。 您可以在 Command 窗口、do-files 或 ado-files 中使用 python script。 结论在这篇博客文章中,我向您展示了在 Stata 中运行 Python 的三种不同方式。每种方式在不同情况下都很有用,我将在未来的博客文章中演示它们的用途。下次,我将向您展示如何下载和安装 Python 软件包。
在线留言尊敬的客户朋友,如您有任何意见建议,请通过下表反馈给我们,我们会尽快与您联系。
|
|
|
||||||||||||||||||||||||||