0 / 0
Go back to the English version of the documentation
本机 Python API
Last updated: 2024年7月05日
本机 Python API (SPSS Modeler)

您可以从脚本中调用本机 Python API ,以与 SPSS Modeler进行交互。

支持以下 API。

要查看示例,您可以下载示例流python-extension-str.zip并将其导入SPSS Modeler(在里面资产选项卡,点击新资产>以视觉流形式构建模型>本地文件。 然后打开流中的 "扩展" 节点属性以查看示例语法。

用于数据模型的 API

  • modelerpy.isComputeDataModelOnly()

    您可以使用此 API 来检查当前运行是计算输出数据还是仅计算输出数据模型。 当它返回 true时,脚本 不得 执行依赖于输入或输出数据的任何任务,否则运行将失败。

  • modelerpy.getDataModel()

    此 API 联系 SPSS Modeler 以获取输入数据集的数据模型。 返回值是 class DataModel的实例,它描述输入数据集的元数据,包括字段计数,字段名称,字段存储类型等。

  • modelerpy.setOutputDataModel(dataModel)

    此 API 将类 DataModel 的实例发送回 SPSS Modeler,并且必须在脚本将数据集传递到 SPSS Modeler之前调用此 API。 SPSS Modeler 使用此 DataModel 实例中描述的元数据来处理 SPSS Modeler 端上的数据。

用于建模的 API

  • modelerpy.saveModel(model, name='model')

    此 API 将 Python 模型转换为 SPSS Modeler 模型,然后 SPSS Modeler 保存该模型。 保存的模型将复制到生成的模型块。 构建 Python 模型时,从建模节点调用此 API。

  • modelerpy.loadModel(name='model')

    此 API 将装入 SPSS Modeler 保存的模型,并为保存的模型创建 Python 对象。 从模型块调用此 API 以装入保存的模型进行进一步处理,例如评分。

输入/输出数据集的 API

  • modelerpy.readPandasDataframe()

    此 API 将数据集从 SPSS Modeler 读取到 Python。 返回值为 Python Pandas DataFrame (二维数据结构,例如二维数组或包含行和列的表)。

  • modelerpy.writePandasDataframe(df)

    此 API 将 Python Pandas DataFrame 从 Python 写入 SPSS Modeler

软件包的 API

  • modelerpy.installPackage(package)

    此 API 从 pypi.org 中拉取软件包并将其安装。

  • modelerpy.uninstallPackage(package)

    此 API 将卸载已安装的软件包。

  • modelerpy.listPackages()

    此 API 提供所有已安装软件包的列表。

用于元数据的 API

将以下与元数据相关的类与 modelerpy.getDataModelmodelerpy.setOutputDataModel配合使用。
  • modelerpy.DataModel

    此 API 是元数据的主条目类。 它包含 class Field 的实例数组,并包含以下方法

    • modelerpy.DataModel.getFields

      此方法返回 class Field 实例的数组。

    • modelerpy.DataModel.addField

      此方法将 Field 的实例添加到元数据数组。

    • modelerpy.Field

      Field 类是存储实际元数据信息的位置,包括字段名称,存储和度量。

    • modelerpy.Field.getName

      此方法返回字段的名称。

    • modelerpy.Field.getStorage

      此方法返回字段的存储。 有效存储器包括: integerrealstringdatetimetimestamp

    • modelerpy.Field.getMeasure

      此方法返回字段的测量。 有效度量包括: discreteflagnominalordinalcontinuous

以下示例代码通过使用 modelerpy.Field数组调用 modelerpy.DataModel 构造函数来构造 DataModel 对象。 modelerpy.Field 构造函数接受字段名,字段存储和字段测量作为其输入参数 (字段存储和字段测量是必需的; 字段测量是可选的)。
dataModel = modelerpy.DataModel([
#                           %FieldName%, %StorageType%, %MeasurementType%
            modelerpy.Field(‘StringField’, ‘string’, ‘nominal’),
            modelerpy.Field(‘FloatField’, ‘real’, ‘continuous’),
            modelerpy.Field(‘IntegerField’, ‘integer’, ‘ordinal’),
            modelerpy.Field(‘BooleanField’, ‘integer’, ‘flag’),
            modelerpy.Field(‘DatetimeField’, ‘timestamp’, ‘continuous’),
            modelerpy.Field(‘TimeField’, ‘time’, ‘continuous’),
            modelerpy.Field(‘DateField’, ‘date’, ‘continuous’),
        ])
# StorageType could be: integer, real, string, date, time, timestamp
# MeasurementType could be: discrete, flag, nominal, ordinal, continuous


outputDataModel = modelerDataModel
outputDataModel.addField(modelerpy.Field(field_outlier, "real", measure="flag"))
outputDataModel.addField(modelerpy.Field(field_dist_hp, "real", measure="continuous"))
Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more