numpy: difference between NaN and masked array
From what I understand NaN represents anything that is not a number, while a masked array marks missing values OR values that are numbers but are not valid for your data set.
I hope that helps.
In numpy there are two ways to mark missing values: I can either use a NaN or a masked array. I understand that using NaNs is (potentially) faster while masked array offers more functionality (which?).
I guess my question is if/ when should I use one over the other?
What is the use case of np.NaN in a regular array vs. a masked array? 
I am sure the answer must be out there but I could not find it...