cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar
EduardDerks
Level I

Interactive use JMP-pro & Python

Is there a way to use Python and JMP interactively together to exploit both strengths.

For example , I would like to do the data browsing, visualization and filtering in JMP
and do some additional calculations in Python (called from JMP).  Currently JMP seems
to ignore all applied filter settings and meta data (specifications, targets). 

Is it possible (or maybe in the near future in a next version) that Python uses 
not only ALL JMP-data but a subset a defined in the filter and also retains 
the variable definitions (specs etc.)

As it is now, I do not see the added value of Python being present in JMP as it does not fully integrate.

Best regards,
Eduard

Eduard P.P.A. Derks, PhD
Senior Data Scientist
Avient Protective Materials
4 REPLIES 4
jthi
Super User

Re: Interactive use JMP-pro & Python

You can already do this but it does require some scripting effort. Also, this is pretty good demonstration that there is already a plenty of value in the Python integration: Torch Deep Learning for JMP® Pro 

-Jarmo
txnelson
Super User

Re: Interactive use JMP-pro & Python

What version of JMP Pro are you using?  The reason I ask is that with each release of JMP, the interrelationship with Python has gotten tighter.   I am curious about your comments about the filter definitions and specs you wrote.  Are you looking for all of the Column Properties in JMP to automatically handled in a Python data frame?  I am curious on how you see that being surfaced to the various Python libraries? 

Jim
hogi
Level XIII

Re: Interactive use JMP-pro & Python

Wonderful implementation of Python in JMP:
JMPyFacade: Bridging JMP and Python for Seamless Engaging Analysis 

I think, @jthi uses a private subset to transfer the data to python and to get the results back to JMP.
With this approach, one escapes most of the mentioned issues.

Re: Interactive use JMP-pro & Python

There is over 30 calendar years worth, many man centuries,  of development effort in JMP.  The Python Integration that began with JMP 18 has come forward dramatically in the period of just two JMP major versions.  The design philosophy has been to provide the user with additional tools and enhance the Python workflow, not rewrite JSL support.  Everything we build in the Python environment, we want to ensure it behaves the way a Python programmer would expect.  The integrated capabilities are improving with every release.  Sometimes that means JSL is the best place to work, other times Python is the place.  

The Python integration can be used to install addition file type support, or additional statistics that JMP has not implemented. Even GPUs can be accessed from Python using appropriate packages such as PyOpenCL or PyCuda. (And of course appropriate video card and drivers).  

The current focus in 18 and 19 has been data interoperability between JMP, JSL, and Python.  Efficiently getting data across the environments so that you can build upon the foundation we have provided. 

In 19 we have built our support for SAS, R, Matlab and Data Connectors on top of the Python Integration.  There are lots of examples in the Scripting Index showing the details of interoperating between JMP and JSL.

Suggestions are always welcome.  We certainly can look at what is involved in honoring data filtering.  The data table as seen by Python is the same data table as seen by JSL.  JMP 19's jmp.globals[] and jmp.here[] give direct Python access to JSL variables in the globals and here namespaces.  

 

Recommended Articles