A bit array is a compact, indexed structure whose entries hold binary values. Apache Arrow uses one validity bit per row to record whether a value is missing, keeping null metadata separate from the column’s value representation. section 7.4.2
This design lets Arrow store nullable integers as integers instead of recoding them, and makes columns with few possible states especially compact. The trade-off is conversion cost and higher memory use when the data moves into pandas. section 7.4.2
Nullable categorical columns
A CSV column such as VendorID can be converted to boolean values while its missingness remains in the separate bit array. Arrow can therefore represent the values compactly, whereas the pandas version may require a larger object representation. section 7.4.2
