フィルターのクリア

Table, delete columns with zero

9 ビュー (過去 30 日間)
newbie9
newbie9 2019 年 8 月 27 日
回答済み: Walter Roberson 2021 年 7 月 19 日
I have a table with many rows and columns. How can I delete a column if any row contains zero? (I found a million ways to delete rows, but not columns, when dealing with tables.)

採用された回答

newbie9
newbie9 2019 年 8 月 27 日
編集済み: newbie9 2019 年 8 月 27 日
Got it; it takes two steps. First repalce zeros with NaN, then can clean it up:
table2 = standardizeMissing(table1, 0); % the 0 is the value to be replaced with NaN
table2 = rmmissing(table2, 2); % the 2 is for deleting rows; use 1 to delete columns
  1 件のコメント
seema rehman
seema rehman 2021 年 7 月 19 日
It delete all columns if there is any zero

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2021 年 7 月 19 日
N = T.Properties.VariableNames;
nvar = length(N);
mask = true(1,nvar);
for K = 1 : nvar
if isnumeric(T.(N{K})) && any(T.(N{K}) == 0, 'all')
mask(K) = false;
end
end
newT = T(:,mask);

カテゴリ

Help Center および File ExchangeTables についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by