如何加快資料表操作(例如堆疊、分割等)?我經常需要將包含數百萬行資料的大型表格堆疊起來,進行一些操作,然後再拆分錶格。
除了在jsl程式碼中使用「不可見」的資料表之外,還有哪些方法可以加快這個過程?
我熟悉 Begin/End Data Update 命令,但我不太確定它是否與此相關,或者在不可見表的基礎上是否有任何改進。
自動化和腳本編寫回覆:如何加快資料表操作(例如堆疊、分割等)?不可見(或私有)是一個不錯的起點,然後很大程度上取決於你的表格,有時你甚至可以避免分割/堆疊。
回覆:如何加快資料表操作(例如堆疊、分割等)?我的目標是合併代表同一列的列,也就是說,我想合併代表同一列的列。我附上了一個範例表,其中「年齡」、「體重」和「身高」這三列分別分佈在兩列中。我的目標是合併每一對列。
最初我會將列堆疊起來,剪出相關部分(年齡/體重/身高),然後再拆分回去,但是對於非常大的數據表來說,這會成為一個問題。
回覆:如何加快資料表操作(例如堆疊、分割等)?
你試過查詢產生器嗎?
抱歉,我誤解了你的問題。我認為查詢建構器在這裡幫不上忙。
回覆:如何加快資料表操作(例如堆疊、分割等)?Names Default To Here(1);
dt = Open("$DOWNLOADS/example_input.jmp");
valid_cols = 4;
m = dt[0,0];
r = Transform Each({vals}, m,
nonmissing = Where(!IsMissing(vals));
vals[nonmissing];
);
dt[0, 1::valid_cols] = r;
dt << Delete Columns(valid_cols::N Cols(dt));
回覆:如何加快資料表操作(例如堆疊、分割等)?如果數據真實情況真是如此的話
- 選擇您的“重複”列
- 使用它們加上 id 列來建立子集(如果沒有 id 列,可能需要建立一個)。
- 刪除包含缺失值的行
- 將兩個表中的列名更改為相同名稱(並刪除多餘的列)。
- 使用更新原始表的 ID 列
- 關閉子集