# How to replace the zero with NaN in the specific column of cell arrays?

1 view (last 30 days)
BN on 5 Nov 2022
Edited: VBBV on 5 Nov 2022
Hello,
I have a cell (1*5) with some 0 in the second and third columns in each cell array; I want to know how to replace all these zeros (only in second and third columns, not the first one) with NaN. I attached the cell.
Thank you so much
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Accepted Answer

VBBV on 5 Nov 2022
Edited: VBBV on 5 Nov 2022
S = load(websave('I','https://in.mathworks.com/matlabcentral/answers/uploaded_files/1182108/I.mat'))
S = struct with fields:
I: {[444×3 double] [444×3 double] [444×3 double] [444×3 double] [444×3 double]}
K = cell2mat(S.I(:,1));
idx = find(K(:,2:3) == 0);
K(idx,2:3) = NaN
K = 888×3
132.6478 44.0000 40.0000 125.3750 NaN NaN 123.1060 NaN NaN 68.5260 NaN NaN 41.6045 NaN NaN 42.0444 NaN NaN 68.8907 NaN NaN 62.8754 NaN NaN 55.9440 NaN NaN 58.4338 NaN NaN
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### More Answers (1)

KSSV on 5 Nov 2022
Let A be your m*3 array.
A(A(:,2)==0,2)=NaN ; % repalce second column with NaN's
A(A(:,3)==0,3)=NaN ; % replace third column with NaN's
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Categories

Find more on Cell Arrays in Help Center and File Exchange

R2021a

### Community Treasure Hunt

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

Start Hunting!