Scripting Guide > Extending JMP > Work with Python > Additional Python Integration Examples
发布日期: 09/18/2023

Additional Python Integration Examples

The following examples show how to send a data table to Python, create objects in Python, and use matrix operations in Python.

Send a Data Table to Python

This example initiates a Python connection, sends a data table to Python, prints it to the log, and closes the Python connection.

Python Init();
dt = Open( "$SAMPLE_DATA/Big Class.jmp", invisible );
Python Send( dt ); // send the opened data table represented by dt to Python
Python Submit( "print( dt )" );
Python Term();

name age sex height weight

0 KATIE 12 F 59 95

1 LOUISE 12 F 61 123

2 JANE 12 F 55 74

...

0

Create Objects in Python

This example initiates a Python connection, creates a Python object, retrieves the object into JMP, and closes the Python connection.

Python Init();
Python Submit("\[
import numpy as np
import pandas as pd
# Generate basic series
ss = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(ss)
sn = pd.Series(np.random.randn(5))
print(sn)
 
# Generate Data Frames from Series
s1 = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s1)
dfs1 = pd.DataFrame(s1)
print(dfs1)
 
d1 = {'one' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
      'two' : pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])}
print(d1)
dfd1 = pd.DataFrame(d1)
print(dfd1)
 
d2 = {'one' : [1., 2., 3., 4.],
      'two' : [4., 3., 2., 1.]}
print(d2)
dfd2 = pd.DataFrame(d2)
print(dfd2)
]\"
);
ss = Python Get( ss );
Show( ss );
sn = Python Get( sn );
Show( sn );
dfs1 = Python Get( dfs1 );
dfs1 << New Data View;
dfd1 = Python Get( dfd1 );
dfd1 << New Data View;
dfd2 = Python Get( dfd2 );
dfd2 << New Data View;
Python Term();

a -0.384649

b 0.455864

c -2.214405

d 0.260955

e 1.342286

dtype: float64

...

Matrix Operations in Python

In JMP, a simple matrix looks like this:

xx = [1 2 3, 4 5 6, 7 8 9 ];

In numpy, the matrix is an array:

xx = numpy.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

In order to submit a matrix as a numpy array, you must translate the JMP matrix.

q = "new = numpy.array ([";
For( i = 1, i <= N Items( xx ), i++,
	zz = Matrix( xx[i] );
	q = q || Char( zz ) || ",";
);
q = q || "])";
Show( q );
 
Python Submit( "import numpy
" || q );
Python Submit( "print(new)" );
需要更多信息?有问题?从 JMP 用户社区得到解答 (community.jmp.com).