I do not actually want to make every one of the following columns NaN but I feel if I get this sorted then I can figure it out from there.
Delete values in a table but keep the cells
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Daniel Garratt
am 1 Mär. 2021
Kommentiert: Jorg Woehl
am 2 Mär. 2021
I have a 1846x72 table that contains strings (I assume they are strings since the value is in '') and numbers. The first two columns are either NaN or a number. I want to go through each row and, if the second column in that row is not NaN, make the following columns all NaN (or empty) for only that row.
This is the code I a have:
for r = 1:nRows
if isnumeric(df{r,2})
for c = 3:nCols
df{r,c} = NaN;
end
end
end
This is the error I am receiving:
Conversion to cell from double is not possible.
I can not include the dataset as it pertains to my work and I am not allowed.
3 Kommentare
Akzeptierte Antwort
Jorg Woehl
am 2 Mär. 2021
Bearbeitet: Jorg Woehl
am 2 Mär. 2021
Try
df{r,c} = {''}
instead. You should be able to avoid the inner loop entirely by using
df{r,3:nCols} = {''}
Also, to check if the second column in row r is not NaN, use
if ~isnan(df{r,2})
...
end
isnumeric(NaN) will return logical true, as NaNs belong to the floating point class.
3 Kommentare
Jorg Woehl
am 2 Mär. 2021
I'm glad you were able to make it work! Not sure why you've still received a type conversion error when working with the table... probably something specific to the imported table.
If you can provide a small table with (made-up) sample data, we might be able to figure out what is going on. But the main thing is that your code is running.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!