JMP18:Python:jmp.Datatable:如何在不转换为 pandas 数据框的情况下获取列名尝试在 jmp.Datatable 中创建一个新列并检查它是否已经存在。
需要获取列名列表
自动化和脚本回复:JMP18:Python:jmp.Datatable:如何在不转换为 pandas 数据框的情况下获取列名通过简单检查即可确定该名称是否在列表中。
if 'age' in col_names:
print('found age')回复:JMP18:Python:jmp.Datatable:如何在不转换为 pandas 数据框的情况下获取列名数据表是列的可迭代集合。
import jmp
dt = jmp.open(jmp.SAMPLE_DATA + 'Big Class.jmp')
col_names = [ x.name for x in dt]
print(col_names)
导致
['name', 'age', 'sex', 'height', 'weight']
回复:如何在不转换为 pandas 数据框的情况下获取 jmp.Datatable 的列名您可以随时使用 jmp.run_jsl 回到 jsl
CNames = jmp.run_jsl('''
Data Table( "Powered by Python" ) << Get Column Names( Continuous, String );
''')
或者你可以循环遍历列并使用 col_obj.name 检查它们
import jmp
dt = jmp.open(jmp.SAMPLE_DATA + "Big Class.jmp")
print(dt[0].name)
在 JMP 中比较列名可能并不那么容易,您可能需要使用类似 << Has Column with jmp.run_jsl ( data table : message column exist(colname)? - JMP User Community )

回复:如何在不转换为 pandas 数据框的情况下获取 jmp.Datatable 的列名感谢您的意见。
我的错没有提到我尝试在 Python 环境中执行此操作
以下示例代码
import jmp
import jmputils
dt = jmp.current() # get current datatable
dt.new_column('colA', jmp.DataType.Character)在创建新的 colA 之前,想要检查 colA 是否存在
回复:如何在不转换为 pandas 数据框的情况下获取 jmp.Datatable 的列名这是我通常使用的方法来确定特定列是否存在于数据表中
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" )
);
回复:如何在不转换为 pandas 数据框的情况下获取 jmp.Datatable 的列名你好
来自 JSL 索引的一个样本
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 );
