-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Allow mixing Column and MaskedColumn in Table and use this for Table.read() #3665
Description
#3662 is an example of getting sidetracked from doing science because a table column that wasn't actually missing data is still a MaskedColumn when other table columns have missing data. Masked arrays don't always play well with other tools.
Currently a Table uses the masked attribute to not only determine what class to use for creating new columns, but also whether to convert a Column to MaskedColumn or vice-versa.
This issue to explore changing this behavior so that columns are more autonomous. For instance, when creating a new column in an existing table it might make sense to only use MaskedColumn when necessary.
From a feasibility perspective this probably isn't too difficult. The real issue will be ensuring that there isn't massive code breakage. Right now if you do:
t = Table(masked=True)
t['a'] = [1, 2]
then you know that t['a'] has a mask attribute. So where do we draw the line?