单个工具示例
Python 有一个单个工具示例。访问示例工作流以了解如何在 Alteryx Designer 中访问此示例和其他更多示例。
Python 工具是供 Python 开发人员使用的代码编辑器。在使用此工具之前,您应该已经熟悉 Python。
导入 Alteryx Python 包后,运行Alteryx.help
以了解相关有用的函数信息:
from ayx import Alteryx
Alteryx.help()
重要
尽管 Designer 接受客户 Python 代码,但 Alteryx 并不为客户 Python 代码提供支持。
Python 工具配置窗口类似于 Jupyter Notebook。如果您不熟悉 Jupyter Notebook,请访问Help(帮助) > User Interface Tour(用户界面教程)或Help(帮助) > Notebook Help(Notebook 帮助)。有关代码的帮助,请查看 Help(帮助)中的其它参考信息。
注意
尽管此工具模仿了 Jupyter Notebook 界面,但某些选项的表现可能与您的预期不同。
Python 工具包括以下数据科学包:
ayx:Alteryx API
jupyter:Jupyter 元包
matplotlib:Python 绘图包
numpy:NumPy,对数字、字符串、记录和对象进行数组处理。
pandas:为数据分析、时间序列和统计服务的强大数据结构。
requests:HTTP for Humans
scikit-learn:一组用于机器学习和数据挖掘的 Python 模块。
scipy:SciPy, Python 的算法和数学库。
six:与 Python 2 和 3 兼容的实用程序。
SQLAlchemy:数据库抽象库
statsmodels:Python 的统计计算和模型。
根据所使用的 Designer 的版本,您可以使用Alteryx.installPackages
函数安装其它程序包。例如,安装 keras:
from ayx import Package
Package.installPackages("keras")
仅当以管理员身份运行 Designer 时,才能安装其它 Python 包。非管理员用户无法安装额外的 Python 包。
Python 工具接受多个输入。连接输入后,您必须运行工作流才能缓存传入的数据流。按照以下步骤访问传入数据连接:
1.导入 Alteryx 库:
from ayx import Alteryx
2. 访问连接,提供一个用作数据引用的变量:
# Use the method this method to read data from the reference. Replace "CONNECTION_NAME" with the name of your connection.
data1 = Alteryx.read("CONNECTION_NAME")
# Read in all connections and reference the returned zero-index array. Replace "INDEX_NUMBER" with the appropriate index number from the array.
Alteryx.read(Alteryx.getIncomingConnectionNames()[INDEX_NUMBER])
3.在开始使用 Python 工具之前运行工作流。这将缓存您的数据,并让工具能够访问这些数据。
注意
Python 工具把数据当作 Pandas DataFrame 处理。有关详细信息,请访问pandas.pydata.org。
使用 Python 工具时,有两种模式供您选择:
使用交互式模式开始编写代码。
已完成代码编写并希望通过标准 Python 解释器运行代码时,使用生产模式以提高速度。
选择交互式按钮。编写代码时使用此模式。此模式允许您通过 Jupyter notebook 与传入数据进行交互,而无需重新运行工作流来查看代码的结果。
运行工作流时,Designer 将执行以下任务:
Designer 缓存了一份传入数据的副本,并且可供 Python 工具使用。
Jupyter shell 执行 Notebook 中的代码。
如果代码调用方法
Alteryx.write()
,Jupyter shell 将通过输出锚点发送结果。Jupyter Notebook 可显示所有错误、警告和打印语句,就像选择了全部运行一样。
选择生产按钮。对于生产中的模型,使用此模式。在此模式下,Designer 会将 Jupyter Notebook 所有的 Python 单元格合并到单个只读的脚本中。Designer 将该脚本传递给 Python 解释器。
运行工作流时,Designer 将执行以下任务:
它绕过 Jupyter shell,然后通过标准的 Python 解释器运行只读脚本。
它不显示错误、警告或打印语句。
如需编辑生产模式脚本,请选择交互式模式,然后编辑 Jupyter Notebook 的单元格。完成编辑后,选择生产模式。
Python 工具有两个格式选项:SQLite 和 YXDB。
选择 Python 工具配置窗口中的 Alteryx 菜单。
选择 Sqlite override(Sqlite 覆盖)。

请按照以下步骤使用 YXDB 数据存储格式。
选择 Python 工具配置窗口中的 Alteryx 菜单。
取消选择 Sqlite override(Sqlite 覆盖) 以删除复选标记。
SQLite | YXDB | |
---|---|---|
Blob | 不支持 | 支持 |
空间对象 | 不支持 | 在 Python 工具和其它工具之间传递空间对象。从 Python 工具创建空间对象输出时,请使用元数据标记。 |
列限制 | 限制为 2000 | 无限制 |
Null 值注释 | 不支持 | Designer 将数字列或字节列转换为 float64 数据类型(即双精度浮点)。 |
如果不更改行的排列或使用地理空间 (GeoSpatial )Python,Alteryx 建议您将地理空间数据从数据集中分离出去,在 Python 工具之后重新将其合并。这样做的原因是 Alteryx 二进制文本和地理空间文本的转换很缓慢。
您可以通过两种方式导入一个文件或目录:
使用 Alteryx 菜单中的导入功能导入单个 Python 脚本或 Jupyter Notebook。
使用导入命令导入目录。
按照以下步骤使用导入功能导入 Python 脚本或 Jupyter Notebook:
选择 Alteryx 菜单。
选择 Import Script(导入脚本)。
选择选择文件。
找到 .py 或 .ipynb 文件,然后选择导入。
利用 Kernel 菜单发出以下任一命令:
要停止处理,选择 Interrupt。
要重新启动处理,选择 Restart。
要清除工作簿的即时结果,选择 Reconnect。
Change kernel 不具备任何功能。
Alteryx 建议您不要选择 Shutdown。
这些最佳实践可帮助您成功使用 Python 工具:
当您引用工作流常量(如Engine.WorkflowDirectory
)时,请使用Alteryx.getWorkflowConstant
方法。否则,在运行代码时,命令的结果或输出将永久替换 Jupyter Notebook 中的命令。
警告
避免在工作流常量中使用%
包装器。相反,按照如以下的方式调用Engine.WorkflowDirectory
:
from ayx import Alteryx
Alteryx.getWorkflowConstant("Engine.WorkflowDirectory")
使用 Alteryx.write
方法从该工具输出数据。
要将数据发送到画布上的其它工具,请使用以下方法:
# Replace "PANDAS_DF" with your data, in DataFrame form.
# Replace "OUTPUT_ANCHOR_NUM" with the number of your output anchor.
Alteryx.write(PANDAS_DATAFRAME, OUTPUT_ANCHOR_NUM)
Alteryx.write
方法仅接受Pandas DataFrames。如果数据采用其它格式,请使用 Pandas 库将其转换为 DataFrame。Pandas 库已作为 Designer 的一部分安装。通过在 Jupyter Notebook 中 import pandas
的方式接入。
最多可以将五个 DataFrame 发送到输出锚点。