I have a timetable with some strange values(32767 (probably Inf)) in all columns of my table.
How can I replace all these with NaN's ?
I tried the following, but it didn't work:
% Method 1
Data(Data==32767)=NaN;
%Method 2
for j=1:size(Data,2)
Data(Data(:,j)==32676,j)=NaN;
end

 Akzeptierte Antwort

ANKUR KUMAR
ANKUR KUMAR am 26 Jan. 2022
Bearbeitet: ANKUR KUMAR am 26 Jan. 2022
You can get the table in a matrix form using .Variables. Once you have a matrix, then you can use boolean to replace any numbers with nan. Here is an example of replacing 48.9 with nan.
load outdoors
tt=outdoors(1:5,:);
mat = tt.Variables;
mat(mat==48.9) = nan;
tt.Variables = mat
tt = 5×3 timetable
Time Humidity TemperatureF PressureHg ___________________ ________ ____________ __________ 2015-11-15 00:00:24 49 51.3 29.61 2015-11-15 01:30:24 NaN 51.5 29.61 2015-11-15 03:00:24 NaN 51.5 29.61 2015-11-15 04:30:24 48.8 51.5 29.61 2015-11-15 06:00:24 48.7 51.5 29.6

3 Kommentare

Marcel345614
Marcel345614 am 26 Jan. 2022
Thanks for your answer, but this is not very helpful...
I have plenty of variables in my table. So this would give a lot of code... :-(
ANKUR KUMAR
ANKUR KUMAR am 26 Jan. 2022
See the updated code.
Marcel345614
Marcel345614 am 27 Jan. 2022
Thanks a lot! Now this was helpful ;-)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Version

R2021b

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by