@海德米勒,我们可能希望针对 JMP 18 进行更新,因为设置将发生变化,并且还将有一个内置编辑器。
@萨姆加德纳@克里斯_基希伯格@kemal_oflus凯末尔要求我帮助出版以满足短期需求。我确实同意我们需要 JMP 18 的 Python 示例,并感谢一些帮助。
这是一组脚本,可用于说明 JMP 18 中的新 Python 集成。您可以随意转发任何其他可能适合客户演示的示例。感谢所有帮助开发这些示例的人,包括 Kemal Oflus、Sam Gardner 和 Paul Nelson。
有关使用 JMP 18 中的新 Python 集成与 R 集成的示例,请参阅以下配套文章:
C80.1 JMP Python 用例 - 与 R 集成的示例
***************************************************************************************************************
对话与回归.py
- 这是使用 Python 集成进行 JMP 目前无法进行的分析的示例,MLP 或多层感知器模型
- numpy 用于构建数组
- pandas 用于构建数据框
- sklearn 用于线性回归和多层感知器
- sklearn 用于将建模数据拆分为训练集和测试集
- sklearn 用于标准化建模数据
- JSL 和 run_JSL() 功能用于打开表、构建列选择器对话框并将选定的数据传递给 Python
- 查看 JMP Log 以了解结果
- 结果也保存为 JMP 表,并使用 Graph Builder 绘制来自 sklearn 的线性回归模型和 MLP 模型的实际与预测图
***************************************************************************************************************
渐变条.py
- Python 类,一种将数据和功能捆绑在一起的对象类型。
- Python def 关键字用于定义函数。
- Pycairo 包为 cairo 图形库提供绑定。
- 使用 Python 集成来构建 JMP 本身不支持的图表。在本例中,生成了一个示例渐变条形图。
- 将 Python 生成的图表保存为 .png 文件,并在 JMP 窗口内的 JMP 图片框中显示该图表。该文件保存到 $TEMP,可以通过在 JMP 脚本窗口中运行 Show(Convert File Path("$TEMP")) 来确定,然后查看 JMP 日志。
***************************************************************************************************************
hdf5_导入.py
- 使用 Python 集成导入 JMP 本身不支持的数据格式。在本例中,数据是 hdf5(分层数据格式),它在许多科学学科中很流行。
- 支持导入hdf5文件的h5py包。
- 一些 hdf5 数据被复制到 JMP 表并绘制在图形生成器中(这是光谱数据)。
***************************************************************************************************************
跳转切片
- 在 Python 中切片。
- 在 JMP 数据表上使用 Python 的切片功能。
- 在 Python 中打开 JMP 表并访问表中单元格的值。
***************************************************************************************************************
镶木地板.py
- 使用 Python 集成导入 JMP 本身不支持的数据格式。在本例中,数据是 parquet 数据。
- PyArrow 包支持导入多种不同格式的数据,包括 parquet 文件。
- 创建 JMP 表并将 parquet 文件的内容保存到 JMP 表。这是通过迭代 pq_Table 中的列并使用辅助函数一次向 JMP 表添加一列来完成的。
- Python def 关键字用于定义函数。在这种情况下,函数接受参数并返回一个对象。
- 使用 jmp.run_jsl() 设置 JMP 表的列属性。
***************************************************************************************************************
本地导入.py
- 导入本地用户编写的包。在本例中,该包名为 dt2pandas。
- 这是一个本地包,这意味着它与导入它的脚本位于同一目录中。
- 本地包有一个名为 dt2df 的定义函数。这会从 JMP 数据表在内存中创建一个 pandas 数据框。
***************************************************************************************************************
pyFromJSL.py
- 使用 Python Submit() 功能。
- 使用 Python Execute() 功能。
- 从 JSL 定义的函数调用 Python 定义的函数。
- 在 JSL 中将 JSL 嵌套在 Python 中。
- 定义可用于操作 JMP 对象的 Python 函数。在本例中,Python 函数使用加法运算符。在 Python 中,加法运算符在用于不同类型的数据时会有不同的行为。对于数值数据,加法返回总和。对于字符串和列表,加法返回连接的字符串或列表。对于向量和矩阵,加法返回元素的和。
- 可以使用 Python Execute() 在 JSL 中调用 Python 中定义的函数。
- 通过创建调用 Python 函数的 JSL 函数可以进一步实现这一点。
- JSL 和 Python 代码可以嵌套。在下面显示的示例中:
- 该脚本是使用 Python Submit() 调用 Python 的 JSL。
- Python 代码使用 jmp.run_jsl() 调用 JSL。
- 最终结果是 JSL 调用 Python,而 Python 又调用 JSL。
- JSL 关联数组和 Python 字典。在下面的示例中,使用 Python Submit() 将在 JSL 中创建的关联向量传递给 Python。在 Python 中,关联向量变为 Python 字典。
***************************************************************************************************************
数组处理.py
- Python 列表、数组和 numpy 数组。
- 将列表、数组和 numpy 数组中的数据编组到 JMP 数据表。
- 关于数据类型和与 JMP 表兼容性的注意事项
- 关于 None 和 NaN 数据以及 JMP 表的注意事项
- 使用切片和 JMP 表
- 指向数据的指针和 Python 缓冲区约定
- 使用 run_jsl() 定义列公式和格式
- 列表、数组和 numpy 数组上加号和星号运算符的 Python 约定
***************************************************************************************************************
我还有很多可以分享的例子。其中许多是在我构建和测试功能时创建的。在这种情况下,大多数是基本功能,而不是高级统计数据。
嗨@Paul_Nelson ,更多的例子会非常有用。我们可以安排一次会议来看看您有什么吗?我将围绕它们构建一些文档。
是的,我们可以安排一次会议。由于我刚从英国回来(曼彻斯特度假后一周),所以本周我仍在赶进度。