MATLAB Answers

Replace NaN's in a table - I need some help

6 views (last 30 days)
Behzad Navidi
Behzad Navidi on 19 Dec 2019
Answered: Behzad Navidi on 20 Dec 2019
Hello all, I have a table namely T2,
it has 12 columns. in all of these columns I have some NaN values. I would like to replace NaNs in the 1 to 7 column. the problem is I want to replace these NaNs by non-NaN values in each column (the value in each row is stable).
for example ( for two columns):
NaN NaN NaN
NaN RAD NaN
Behezad RAD MORD
NaN NaN MORD
I want:
Behezad RAD MORD
Behezad RAD MORD
Behezad RAD MORD
Behezad RAD MORD
for each column. it is important that every column has it's own value. I don't want to have any change in column 8 to 12 NaNs
thank you, I wait for your kindly answers.
best regards

  7 Comments

Show 4 older comments
Image Analyst
Image Analyst on 20 Dec 2019
But what if there is a missing one and two different numbers above and below. Which do you choose?
And if a string is missing, how valid is it to just take one of the nearest values? Like if I was in the table, and my middle name and age were missing, how valid is it to make my middle name and age the same as from whomever happens to be above or below me in the table?
Behzad Navidi
Behzad Navidi on 20 Dec 2019
Thank you again. All values in each column are stable. I mean all up and down nan values are similar. These columns represent some features of one climate station for a time period (like the name of region and latitude and longitude of the station so all cells in 1 to 7 is similar. I want to replace nan with nearest none nan of each column in column 1 to 7. Thanks again 🌹🌹🌹
Behzad Navidi
Behzad Navidi on 20 Dec 2019
I have 540 excel file like this for other weather stations. That's the reason I want to use the Matlab code.

Sign in to comment.

Answers (2)

Ridwan Alam
Ridwan Alam on 19 Dec 2019
Edited: Ridwan Alam on 19 Dec 2019
T2.col1(ismissing(T2.col1)) = "Behezad";
T2.col2(ismissing(T2.col2)) = "RAD";
T2.col3(ismissing(T2.col3)) = "MORD";

  2 Comments

Behzad Navidi
Behzad Navidi on 19 Dec 2019
Dear Ridwan, thank you but, it's just a little example. my real data set is very larg and have very differents values (city names and latitude, longitude), I can't using this. I want to fill automaticly by non-nan values in each column. thank you
Capture.JPG
Ridwan Alam
Ridwan Alam on 19 Dec 2019
Sure, Behzad. Please share what you've tried to automate this. And if there is any specific error or question, I would be glad to help. But, I am not willing to write your whole code for you.

Sign in to comment.


Sign in to answer this question.

Products


Release

R2018b