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

Image Analyst
Image Analyst 2019년 12월 19일
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 2019년 12월 19일
편집: BN 2019년 12월 19일
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 2019년 12월 20일
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 2019년 12월 20일
Thank you, I attach the table in a .mat file
Image Analyst
Image Analyst 2019년 12월 20일
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 2019년 12월 20일
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 2019년 12월 20일
I have 540 excel file like this for other weather stations. That's the reason I want to use the Matlab code.

댓글을 달려면 로그인하십시오.

답변 (2개)

Ridwan Alam
Ridwan Alam 2019년 12월 19일
편집: Ridwan Alam 2019년 12월 19일

1 개 추천

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

댓글 수: 2

BN
BN 2019년 12월 19일
편집: BN 2019년 12월 19일
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 2019년 12월 19일
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.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Tables에 대해 자세히 알아보기

제품

릴리스

R2018b

질문:

BN
2019년 12월 19일

답변:

BN
2019년 12월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by