replace missing floats with nans rather than None, and missing strings with empty strings rather than None; this may cause breakage