如何在SAS中执行python

如何在SAS中执行python

在SAS中执行Python的方法包括使用PROC FCMP、SAS Viya中的Python代码节点、通过SASPy库进行集成。SASPy库最为方便和灵活,能够在SAS和Python之间无缝转换数据。

一、PROC FCMP

PROC FCMP 是SAS中一个很强大的过程,用于编写自定义函数和存储过程。通过它,你可以调用外部Python代码。它的使用步骤如下:

1. 创建Python代码文件

首先,需要在系统中创建一个Python代码文件,例如my_script.py

# my_script.py

def hello_sas():

return "Hello from Python!"

2. 使用PROC FCMP调用Python脚本

在SAS中使用PROC FCMP过程调用这个Python脚本。

proc fcmp outlib=work.funcs.python;

function hello_sas() $;

rc = system('python my_script.py');

return (rc);

endsub;

run;

options cmplib=work.funcs;

data _null_;

length msg $ 50;

msg = hello_sas();

put msg=;

run;

二、SAS Viya中的Python代码节点

SAS Viya 提供了一个功能强大的环境,可以直接在流程中嵌入Python代码。使用SAS Viya的Python代码节点,你可以在SAS流程中直接运行Python代码并返回结果。

1. 创建Python代码节点

在SAS Viya中,创建一个新的Python代码节点并输入你的Python代码。

def my_function():

return "Hello from SAS Viya!"

2. 将Python代码集成到SAS流程中

通过SAS Viya的流程图,将Python代码节点集成到你的数据处理流程中,使其能够与其他SAS节点交互。

三、通过SASPy库进行集成

SASPy 是一个Python库,它允许Python用户直接连接并使用SAS系统。它提供了许多功能,可以方便地在Python中调用SAS的功能,并且在SAS和Python之间传递数据。

1. 安装SASPy库

首先,在Python环境中安装SASPy库。

pip install saspy

2. 配置SASPy

配置SASPy以连接到你的SAS环境。你需要在Python脚本中设置SASPy的配置。

import saspy

设置SAS配置

sas = saspy.SASsession(cfgname='default')

运行SAS代码

sas_code = """

data test;

input name $ age;

datalines;

John 25

Jane 30

;

run;

"""

sas.submit(sas_code)

3. 在Python中调用SAS功能

使用SASPy库,你可以在Python中方便地调用SAS功能,并在SAS和Python之间传递数据。

# 从SAS读取数据到Pandas DataFrame

sas_data = sas.sasdata2dataframe(table='test', libref='WORK')

在Pandas中处理数据

print(sas_data)

四、实例应用

1. 数据分析中的应用

在数据分析过程中,可能需要在SAS中完成数据清洗和预处理,然后在Python中进行机器学习模型的训练和预测。下面是一个实例:

# 在SAS中进行数据清洗

sas_code = """

data clean_data;

set raw_data;

if age > 18 then adult = 1;

else adult = 0;

run;

"""

sas.submit(sas_code)

将清洗后的数据传递到Python

clean_data = sas.sasdata2dataframe(table='clean_data', libref='WORK')

在Python中进行机器学习模型训练

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestClassifier

X = clean_data.drop(['name', 'adult'], axis=1)

y = clean_data['adult']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

model = RandomForestClassifier()

model.fit(X_train, y_train)

进行预测

predictions = model.predict(X_test)

2. 数据可视化中的应用

在数据分析过程中,SAS擅长于数据处理和统计分析,而Python的Matplotlib和Seaborn库则擅长于数据可视化。通过SASPy,你可以将SAS处理后的数据传递到Python进行可视化。

# 在SAS中进行数据处理

sas_code = """

data summary_data;

set raw_data;

by category;

if first.category then total = 0;

total + value;

if last.category then output;

run;

"""

sas.submit(sas_code)

将处理后的数据传递到Python

summary_data = sas.sasdata2dataframe(table='summary_data', libref='WORK')

在Python中进行数据可视化

import matplotlib.pyplot as plt

import seaborn as sns

plt.figure(figsize=(10, 6))

sns.barplot(x='category', y='total', data=summary_data)

plt.title('Category-wise Total Value')

plt.show()

五、总结

在SAS中执行Python的方法有很多,通过PROC FCMPSAS Viya中的Python代码节点以及SASPy库,你可以将Python和SAS的功能结合起来,充分利用两者的优势。在实际应用中,选择合适的方法可以提高工作效率和分析效果。推荐使用SASPy库,因为它最为方便和灵活,能够在SAS和Python之间无缝转换数据。同时,结合研发项目管理系统PingCode通用项目管理软件Worktile,可以更好地管理和协调数据分析项目。

相关问答FAQs:

1. 如何在SAS中执行Python代码?

在SAS中执行Python代码,可以使用SAS的Python Integration。首先,确保你的SAS版本支持Python Integration。然后,按照以下步骤操作:

  • 导入SAS的Python Integration库。
  • 使用SAS的submit()函数将Python代码传递给SAS。
  • 使用SAS的rsubmit()函数将Python代码远程提交给SAS服务器执行。
  • 使用SAS的endsubmit()函数结束Python代码的执行。

2. 如何在SAS中调用Python函数?

要在SAS中调用Python函数,可以使用SAS的python语句。首先,确保你的SAS版本支持Python Integration。然后,按照以下步骤操作:

  • 导入SAS的Python Integration库。
  • 使用SAS的python语句调用Python函数,可以传递参数并获取返回值。

3. 如何在SAS中使用Python的数据分析库?

要在SAS中使用Python的数据分析库,可以使用SAS的Python Integration。首先,确保你的SAS版本支持Python Integration,并安装了所需的Python库。然后,按照以下步骤操作:

  • 导入SAS的Python Integration库。
  • 使用SAS的submit()函数将Python代码传递给SAS。
  • 在Python代码中引入所需的数据分析库,如Pandas、NumPy等。
  • 使用SAS的rsubmit()函数将Python代码远程提交给SAS服务器执行。
  • 在Python代码中使用数据分析库的函数进行数据分析操作。
  • 使用SAS的endsubmit()函数结束Python代码的执行。

原创文章,作者:Edit1,如若转载,请注明出处:https://docs.pingcode.com/baike/779852

(0)
Edit1Edit1
上一篇 2024年8月24日 上午12:11
下一篇 2024年8月24日 上午12:11
免费注册
电话联系

4008001024

微信咨询
微信咨询
返回顶部