JMP18: Python: jmp.Datatable: So erhalten Sie Spaltennamen, ohne sie in einen Pandas-Datenrahmen zu konvertierenVersuche, eine neue Spalte in einer jmp.Datatable zu erstellen und zu prüfen, ob sie bereits vorhanden ist.
Muss eine Liste der Spaltennamen abrufen
Automatisierung und SkriptingBetreff: JMP18: Python: jmp.Datatable: So erhalten Sie Spaltennamen, ohne sie in ein Pandas-Dataframe zu konvertierenDamit lässt sich ganz einfach prüfen, ob der Name in der Liste enthalten ist.
if 'age' in col_names:
print('found age')Betreff: JMP18: Python: jmp.Datatable: So erhalten Sie Spaltennamen, ohne sie in ein Pandas-Dataframe zu konvertierenDie Datentabelle ist eine iterierbare Sammlung von Spalten.
import jmp
dt = jmp.open(jmp.SAMPLE_DATA + 'Big Class.jmp')
col_names = [ x.name for x in dt]
print(col_names)
Ergebend
['name', 'age', 'sex', 'height', 'weight']
Betreff: So erhalten Sie Spaltennamen aus jmp.Datatable, ohne diese in ein Pandas-Dataframe zu konvertierenSie können jederzeit mit jmp.run_jsl auf JSL zurückgreifen.
CNames = jmp.run_jsl('''
Data Table( "Powered by Python" ) << Get Column Names( Continuous, String );
''')
Oder Sie könnten eine Schleife über die Spalten durchführen und sie mit col_obj.name überprüfen.
import jmp
dt = jmp.open(jmp.SAMPLE_DATA + "Big Class.jmp")
print(dt[0].name)
Das Vergleichen von Spaltennamen ist in JMP möglicherweise nicht so einfach und Sie möchten vielleicht etwas wie << Has Column mit jmp.run_jsl ( Datentabelle: Nachrichtenspalte vorhanden (Spaltenname)? – JMP-Benutzergemeinschaft ) verwenden.

Betreff: So erhalten Sie Spaltennamen aus jmp.Datatable, ohne diese in ein Pandas-Dataframe zu konvertierenDanke für die Eingaben.
Mein Fehler, dass ich das nicht erwähnt habe, war der Versuch, es in der Python-Umgebung zu tun
Beispielcode unten
import jmp
import jmputils
dt = jmp.current() # get current datatable
dt.new_column('colA', jmp.DataType.Character)Möchten Sie prüfen, ob colA vorhanden ist, bevor Sie eine neue erstellen?
Betreff: So erhalten Sie Spaltennamen aus jmp.Datatable, ohne diese in ein Pandas-Dataframe zu konvertierenDies ist die Methode, die ich normalerweise verwende, um zu bestimmen, ob eine bestimmte Spalte in der Datentabelle enthalten ist oder nicht.
Names Default To Here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
If( Try( :mycolumn << get name, "" ) == "",
New Column( "mycolumn" )
);
Betreff: So erhalten Sie Spaltennamen aus jmp.Datatable, ohne diese in ein Pandas-Dataframe zu konvertierenHallo
Ein Beispiel aus dem JSL-Index
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
n = dt << Get Column Names();
Show( n );
CNames = dt << Get Column Names( Continuous );
Show( CNames );
SNames = dt << Get Column Names( String );
Show( SNames );
