@HydeMiller , es posible que queramos actualizar esto para JMP 18 ya que la configuración cambiará y también habrá un editor integrado.
@HydeMiller Puedo ayudar a actualizar esto.
@SamGardner @Chris_Kirchberg @kemal_oflus Kemal me pidió que le ayudara a publicar para una necesidad a corto plazo.Estoy de acuerdo en que necesitamos ejemplos de Python para JMP 18 y agradezco algo de ayuda con eso.
Esta es una colección de scripts que se pueden usar para ilustrar la nueva integración de Python en JMP 18. No dude en volver a publicar con cualquier otro ejemplo que pueda tener y que haya funcionado bien para una presentación para un cliente. Gracias a todos los que ayudaron a desarrollar estos ejemplos, incluidos Kemal Oflus, Sam Gardner y Paul Nelson.
Para ver ejemplos de integración con R usando la nueva integración de Python en JMP 18, consulte esta publicación complementaria:
Casos de uso de C80.1 JMP Python: ejemplos de integración con R
************************************************** *************************************************
Diálogo y regresión.py
- Este es un ejemplo del uso de la integración de Python para realizar un análisis que JMP no realiza actualmente, MLP o modelo de perceptrón multicapa.
- numpy se usa para construir matrices
- pandas se utiliza para construir marcos de datos
- sklearn se utiliza para regresión lineal y perceptrón multicapa
- sklearn se utiliza para dividir los datos de modelado en conjuntos de tren y prueba.
- sklearn se utiliza para estandarizar datos de modelado
- JSL y la función run_JSL() se utilizan para abrir la tabla, crear un cuadro de diálogo de selección de columnas y pasar los datos seleccionados a Python.
- Consulte el registro JMP para obtener resultados
- Los resultados también se guardan como una tabla JMP y Graph Builder se utiliza para crear un gráfico real versus previsto del modelo de regresión lineal y el modelo MLP de sklearn.
************************************************** *************************************************
Barradegradado.py
- Clases de Python, un tipo de objeto que agrupa datos y funcionalidades.
- Palabra clave def de Python que se utiliza para definir una función.
- El paquete Pycairo que proporciona enlaces para la biblioteca de gráficos de El Cairo.
- Usar la integración de Python para crear un gráfico que no es compatible de forma nativa con JMP. En este caso, se produce un ejemplo de gráfico de barras de gradiente.
- Guardar un gráfico generado por Python en un archivo .png y mostrar el gráfico en un cuadro de imagen JMP dentro de una ventana JMP. El archivo se guarda en $TEMP, que se puede determinar ejecutando Show(Convertir ruta de archivo("$TEMP")) en una ventana de secuencia de comandos JMP y luego consulte el registro de JMP.
************************************************** *************************************************
hdf5_import.py
- Usar la integración de Python para importar un formato de datos que no es compatible de forma nativa con JMP. En este caso, los datos son hdf5 (formato de datos jerárquicos), que es popular en muchas disciplinas científicas.
- El paquete h5py que admite la importación de archivos hdf5.
- Algunos de los datos de hdf5 se copian en una tabla JMP y se trazan en Graph Builder (estos son datos espectrales).
************************************************** *************************************************
jmp_slice.py
- Cortar en Python.
- Usando la función de corte de Python en tablas de datos JMP.
- Abrir tablas JMP en Python y acceder a valores de celdas en las tablas.
************************************************** *************************************************
parquet.py
- Usar la integración de Python para importar un formato de datos que no es compatible de forma nativa con JMP. En este caso los datos son datos de parquet.
- El paquete PyArrow que admite la importación de muchos formatos diferentes de datos, incluidos archivos de parquet.
- Crear una tabla JMP y guardar el contenido del archivo parquet en la tabla JMP. Esto se hace iterando las columnas en pq_Table y agregando una columna a la vez a la tabla JMP usando una función auxiliar.
- Palabra clave def de Python que se utiliza para definir una función. En este caso, la función acepta argumentos y devuelve un objeto.
- Utilice jmp.run_jsl() para establecer las propiedades de las columnas de la tabla JMP.
************************************************** *************************************************
importación_local.py
- Importación de un paquete local escrito por el usuario. En este caso, el paquete se llama dt2pandas.
- Este es un paquete local, lo que significa que está ubicado en el mismo directorio que el script que lo importa.
- El paquete local tiene una función definida llamada dt2df. Esto crea un marco de datos de pandas en la memoria a partir de una tabla de datos JMP.
************************************************** *************************************************
pyFromJSL.py
- Usando la función Python Submit().
- Usando la función Python Execute().
- Llamar a una función definida en Python desde una función definida en JSL.
- Anidando JSL dentro de Python dentro de JSL.
- Definir una función de Python que se puede utilizar para manipular objetos JMP. En este caso, la función de Python utiliza el operador más. En Python, el operador más se comporta de manera diferente cuando se usa con diferentes tipos de datos. Con datos numéricos, plus devuelve la suma. Con cadenas y listas, además devuelve una cadena o lista concatenada. Con vectores y matrices, plus devuelve la suma elemento por elemento.
- La función definida en Python se puede invocar en JSL usando Python Execute().
- Esto se puede generalizar aún más creando una función JSL que llame a la función Python.
- El código JSL y Python se puede anidar. En el ejemplo que se muestra a continuación:
- El script es JSL que llama a Python usando Python Submit().
- El código Python llama a JSL usando jmp.run_jsl().
- El resultado final es JSL llamando a Python que llama a JSL.
- Matrices asociativas JSL y diccionarios de Python. En el siguiente ejemplo, un vector asociativo creado en JSL se pasa a Python mediante Python Submit(). En Python, el vector asociativo se convierte en un diccionario de Python.
************************************************** *************************************************
array_handling.py
- Listas de Python, matrices y matrices numerosas.
- Clasificación de datos de listas, matrices y matrices numerosas en tablas de datos JMP.
- Consideraciones sobre tipos de datos y compatibilidad con tablas JMP
- Consideraciones sobre datos Ninguno y NaN y tablas JMP
- Usando tablas de corte y JMP
- Indicaciones para datos y convenciones de búfer de Python
- Usando run_jsl() para definir fórmulas y formatos de columnas
- Convenciones de Python para operadores más y asterisco en listas, matrices y matrices numpy
************************************************** *************************************************
También tengo muchos ejemplos que puedo compartir. Muchos de ellos se crearon mientras yo creaba y probaba la funcionalidad. En este caso, la mayoría son funciones básicas en lugar de estadísticas avanzadas.
Hola @Paul_Nelson , sería realmente útil tener más ejemplos. ¿Podemos programar una sesión para ver lo que tienes? Construiré documentación sobre ellos.
Sí, podemos programar una sesión. Como acabo de regresar del Reino Unido (una semana de vacaciones después de Manchester), todavía me estoy poniendo al día esta semana.