通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

如何在SAS中执行python

如何在SAS中执行python

在SAS中执行Python可以使用SAS Viya的SASPy、SWAT库、SAS存储过程、Jupyter Notebook等方法。下面将详细描述其中的一种方法,即使用SASPy库来执行Python代码。

一、SASPy库概述

SASPy是一个允许Python程序与SAS进行交互的库。通过SASPy库,可以在Python脚本中连接到SAS系统,并执行SAS代码。它提供了一个接口,使得Python用户可以利用SAS的强大功能和分析能力。SASPy库对于数据科学家和分析师非常有用,因为它们可以利用Python编写数据处理和分析脚本,并调用SAS的功能进行复杂的分析。

二、安装SASPy库

在使用SASPy之前,首先需要安装SASPy库。可以使用pip命令进行安装:

pip install saspy

安装完成后,您需要进行一些配置,使得SASPy能够连接到您的SAS系统。SASPy配置文件位于sascfg_personal.py,可以在Python的安装路径中找到。您需要编辑此文件,添加SAS连接的相关信息,例如SAS主机名、端口、用户名和密码等。

三、配置SASPy连接

在配置文件中,您需要设置SASPy连接到SAS系统的参数。以下是一个示例配置文件:

SAS_config_names = ['default']

SAS_config_options = {

'saspath': '/path/to/sas', # SAS可执行文件的路径

}

default = {

'saspath': '/path/to/sas',

'options': ["-fullstimer"]

}

在上述配置中,saspath参数指定了SAS可执行文件的路径。配置完成后,您可以在Python脚本中使用SASPy库连接到SAS系统。

四、使用SASPy库执行Python代码

在配置完成后,可以在Python脚本中使用SASPy库连接到SAS系统,并执行SAS代码。以下是一个示例代码:

import saspy

创建SAS会话

sas = saspy.SASsession()

执行SAS代码

sas_code = """

data test;

input x y;

datalines;

1 2

3 4

5 6

;

run;

"""

sas.submit(sas_code)

提取结果

sas_result = sas.sasdata2dataframe(table='test')

print(sas_result)

在上述代码中,首先创建了一个SAS会话,然后使用sas.submit方法执行SAS代码,最后使用sas.sasdata2dataframe方法将SAS数据集转换为Pandas DataFrame,并打印结果。

五、SAS存储过程

在SAS中,还可以通过SAS存储过程来执行Python代码。SAS存储过程是一种在SAS服务器上执行的独立程序,可以通过SAS客户端调用存储过程,并将Python代码嵌入到SAS存储过程中执行。以下是一个示例代码:

%let python_code = %str(

import pandas as pd

data = {'x': [1, 3, 5], 'y': [2, 4, 6]}

df = pd.DataFrame(data)

print(df)

);

proc python code="&python_code";

run;

在上述代码中,首先将Python代码存储在宏变量python_code中,然后使用proc python过程执行Python代码。

六、SAS Viya与SWAT库

SAS Viya是SAS的新一代平台,提供了更强大的分析能力和更灵活的部署选项。在SAS Viya中,可以使用SWAT(Scripting Wrapper for Analytics Transfer)库来执行Python代码。SWAT库是一个允许Python程序与SAS Viya进行交互的库。

安装SWAT库

可以使用pip命令安装SWAT库:

pip install swat

配置SWAT库连接

在使用SWAT库之前,需要配置连接参数,例如SAS Viya服务器的主机名、端口、用户名和密码等。以下是一个示例代码:

import swat

配置连接参数

hostname = 'your-viya-server-hostname'

port = 5570

username = 'your-username'

password = 'your-password'

创建CAS会话

conn = swat.CAS(hostname, port, username, password)

执行Python代码

conn.loadactionset('simple')

创建数据表

tbl = conn.simple.loadtable(path='data.csv')

打印结果

print(tbl)

在上述代码中,首先创建了一个CAS(Cloud Analytic Services)会话,然后使用loadtable方法加载数据表,并打印结果。

七、Jupyter Notebook与SAS Kernel

Jupyter Notebook是一个开源的Web应用程序,可以创建和共享包含代码、方程、可视化和文本的文档。在Jupyter Notebook中,可以使用SAS Kernel来执行SAS代码。

安装SAS Kernel

可以使用pip命令安装SAS Kernel:

pip install sas_kernel

配置SAS Kernel

在安装完成后,需要配置SAS Kernel,使其能够连接到SAS系统。可以通过编辑配置文件kernel.json来完成配置。以下是一个示例配置文件:

{

"argv": [

"python",

"-m",

"sas_kernel",

"-f",

"{connection_file}"

],

"display_name": "SAS",

"language": "sas"

}

在上述配置中,argv参数指定了SAS Kernel的启动命令,display_name参数指定了在Jupyter Notebook中显示的名称,language参数指定了使用的语言。

使用SAS Kernel执行SAS代码

配置完成后,可以在Jupyter Notebook中创建一个新的SAS笔记本,并执行SAS代码。以下是一个示例代码:

data test;

input x y;

datalines;

1 2

3 4

5 6

;

run;

proc print data=test;

run;

在上述代码中,首先创建了一个数据集test,然后使用proc print过程打印数据集。

八、总结

通过以上几种方法,可以在SAS中执行Python代码。使用SASPy库、SAS存储过程、SAS Viya与SWAT库、Jupyter Notebook与SAS Kernel等方法都可以实现这一目标。其中,SASPy库和SAS存储过程是最常用的方法,可以在Python脚本中方便地调用SAS功能,进行数据处理和分析。而SAS Viya与SWAT库则提供了更强大的分析能力和更灵活的部署选项,适用于需要大规模数据处理和复杂分析的场景。Jupyter Notebook与SAS Kernel则适用于需要交互式编程和可视化的场景。

通过合理选择和使用这些方法,可以在SAS中高效地执行Python代码,充分利用SAS和Python的优势,进行数据处理和分析。

相关问答FAQs:

在SAS中执行Python的基本步骤是什么?
在SAS中执行Python代码通常涉及使用SAS的PROC PYTHON过程。用户需要确保SAS环境已正确配置以支持Python。可以通过在SAS程序中指定Python的路径和设置相关选项来实现。确保已安装Python及所需的库,这样才能在SAS中无缝调用Python脚本。

在SAS中执行Python时,如何处理数据传输?
在SAS中执行Python时,可以通过使用SAS数据集与Python中的Pandas库进行数据传输。可以利用SAS的libname语句将SAS数据集导入Python,并使用dataframe将Python的数据返回到SAS。这样可以实现高效的数据处理和分析。

在SAS中调用Python代码会影响性能吗?
调用Python代码确实可能影响性能,尤其是在处理大数据集时。执行Python代码需要额外的计算资源和时间。如果需要频繁调用Python,可以考虑将一些计算逻辑直接在SAS中实现,或者优化Python代码以提高效率,确保在使用两种语言时达到最佳性能。

相关文章