replace [ ] in an array with 0's

talks about replace [] with 0's for one column. But suppose I have a table with many columns and I want to run this operation for multiple colmns. Is there any way simpler than writing another loop?

 采纳的回答

tables use functions like ismissing() and fillmissing():
newTable = fillmissing(badTable, 'constant', 0)

1 个评论

Invalid fill constant type.
[intConstVj,extMethodVj] = checkArrayType(Avj,intMethod,intConstVj,extMethodVj,x,true,ma);
B.(vj) = fillTableVar(indVj,A.(vj),intMethod,intConst,extMethod,x,useJthFillConstant,useJthExtrapConstant,mavj);
B = fillTable(A,intM,intConstOrWinSize,extM,x,dataVars,ma);

请先登录,再进行评论。

更多回答(2 个)

You can get all the emtpy functions in a cell using cellfun ..
idx = cellfun(@isempty,C) ; % get empty cells in a cell array C
C(idx) = 0 ; % replace with zero
Note that, cellfun also uses loop inside.
KSSV
KSSV 2020-7-7

0 个投票

You run on each column of a table..

5 个评论

lots of columns...
You can also address table columns numerically using all the other addressing manners, loops, colon, etc., etc., etc., ...
For table T, for column 3 to 5, is it like
for j=3:5 % column
for i = 1:length(T) % row
if isempty(T(i,j))
T(i,j) = 0;
end
end
end
?
Did you try it? I dunno, don't have your table but can only have empty [] in cell array so the table column content must be a cell it would seem...
Again, w/o a sample piece of data to work on it's tough...

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by