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 dataframe 的情況下取得 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 與 jmp.run_jsl 的內容( 資料表:訊息列存在(colname)? - JMP 使用者社群)

回覆:如何在不轉換為 pandas dataframe 的情況下取得 jmp.Datatable 的列名稱感謝您的投入。
我很遺憾沒有提到試圖在 python 環境中做到這一點
下面的範例程式碼
import jmp
import jmputils
dt = jmp.current() # get current datatable
dt.new_column('colA', jmp.DataType.Character)想要在建立新 colA 之前檢查 colA 是否存在
回覆:如何在不轉換為 pandas dataframe 的情況下取得 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 dataframe 的情況下取得 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 );
