Originally posted by @cbrnr in #12931 (comment)
Pandas has many ways to represent missing data; this choice uses None, whereas other columns use NaN. Although pandas correctly treats all of these values as missing, we could take advantage of nullable extension data types, which add proper support for missing values, most notably to create various nullable integer types (Int8, Int16, ..., UInt8, UInt16, ...) and a string type.