There are plenty of places where an attribute is missing or None if it is unavailable. This complicates type hinting and coding.
Replacing None defaults with NaN will simplify the code base. A downside, though, is that you will not see early failure for an unexpected missing value since the NaN will propagate through most calculations.
This changes the API so it should be postponed until a major release.