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

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 Kommentare

Image Analyst
Image Analyst am 19 Dez. 2019
What do you want to replace the nan's with? The nearest non-nan value? A linearly interpolated value between the two nearest non-nan values?
Also, it looks like your columns are strings. If they're strings, then you can't have nan's in a column of strings. Nan's can only appear in a column of numbers I believe. You could have null strings '' though.
BN
BN am 19 Dez. 2019
Bearbeitet: BN am 19 Dez. 2019
Hey Image Analyst, Thank you.
I want to replace Nan with the nearest non-nan values in each column.
they are text and numbers. (column 1 to 4 are text and column 5 to 7 is numbers)
I don't know if Matlab capable to do this. maybe it should first change NaN in these columns to blank cells then fill them with the nearest non-nan value in each column.
Image Analyst
Image Analyst am 20 Dez. 2019
Please attach the table in a .mat file to make it easy for people to help you. Don't make us have to create sample data just to help you when you already have it. If it's too hard to help, many people just won't.
BN
BN am 20 Dez. 2019
Thank you, I attach the table in a .mat file
Image Analyst
Image Analyst am 20 Dez. 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?
BN
BN am 20 Dez. 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 ???
BN
BN am 20 Dez. 2019
I have 540 excel file like this for other weather stations. That's the reason I want to use the Matlab code.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Ridwan Alam
Ridwan Alam am 19 Dez. 2019
Bearbeitet: Ridwan Alam am 19 Dez. 2019

1 Stimme

T2.col1(ismissing(T2.col1)) = "Behezad";
T2.col2(ismissing(T2.col2)) = "RAD";
T2.col3(ismissing(T2.col3)) = "MORD";

2 Kommentare

BN
BN am 19 Dez. 2019
Bearbeitet: BN am 19 Dez. 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 am 19 Dez. 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Produkte

Version

R2018b

Gefragt:

BN
am 19 Dez. 2019

Beantwortet:

BN
am 20 Dez. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by