Contexto:
I am using JMP 18 with Python integration to merge multiple datasets. The merge and processing in Python works correctly using pandas, but when I try to send the final pandas DataFrame back to JMP using Python Get(), the resulting JMP Data Table is empty. I want to create a JMP table from my pandas DataFrame in Python and access it in JSL.
Ejemplo de lo que estoy intentando:
// Send JMP tables to Python Python Send(jmp_table1); Python Send(jmp_table2); // Python processing Python Submit(" import pandas as pd def jmp_to_pandas(jmp_table): cols = list(jmp_table) data_dict = {} for col in cols: data_dict[col.name] = list(col) return pd.DataFrame(data_dict) # Convert JMP tables to pandas DataFrames df1 = convert_jmp_to_pandas(jmp_table1) df2 = convert_jmp_to_pandas(jmp_table2) # Merge tables merged_df = pd.merge_asof(df2, df1, left_on='Time', right_on='Time', direction='nearest') "); // Attempt to bring merged DataFrame back to JMP dt_merged = Python Get(merged_df); dt_merged << Set Name("Merged_Data"); dt_merged << Show Window;
Problema observado:
-
dt_merged is created but contains no data. [Pero el marco de datos se genera tal que puedo guardarlo en csv y usarlo]
-
Using global in Python does not seem to fix the issue.
-
Python Get() does not appear to recognize the pandas DataFrame correctly.
Lo que quiero:
-
Convierte un DataFrame de pandas en una tabla JMP desde Python.
-
Acceda a él en JSL con el nombre adecuado, muestre la ventana y manipule las columnas.
-
Evite crear tablas vacías y mantenga todas las filas/columnas.
Posibles soluciones que estoy considerando:
-
Exportar a CSV desde Python y luego importar a JMP: lo probé y funciona, pero es algo que no quiero.
-
Ensuring the DataFrame is declared global before Python Get(). - no funcionó
Ambiente:
-
JMP 18
-
Python 3.x (integrado)
- Uso dentro de un script JSL
¡Cualquier orientación o ejemplos prácticos sobre cómo enviar DataFrames de pandas a JMP desde Python serán muy apreciados!