When comparing masked columns in bytes and unicode, the result is different when comparing two unicode columns compared to comparing a unicode and a bytes column:
In [1]: from astropy.table import Table
...:
In [2]: t1 = Table(masked=True)
...: t1['a'] = ['z', 'b', 'c']
...: t1['a'].mask = [1, 0, 0]
...: t2 = Table(masked=True)
...: t2['a'] = ['a', 'b', 'c']
...:
In [3]: t2['a'] == t1['a']
Out[3]:
masked_array(data = [-- True True],
mask = [ True False False],
fill_value = True)
In [4]: t1 = Table(masked=True)
...: t1['a'] = ['z', 'b', 'c']
...: t1['a'].mask = [1, 0, 0]
...: t2 = Table(masked=True)
...: t2['a'] = [b'a', b'b', b'c']
...:
In [5]: t2['a'] == t1['a']
Out[5]:
masked_array(data = [False True True],
mask = [False False False],
fill_value = True)
In the second case, the first mask item should be True. This is a separate issue from #6838 (but I had to do t2['a'] == t1['a'] instead of t1['a'] == t2['a'] to avoid running into that issue).
cc @taldcroft @mhvk
When comparing masked columns in bytes and unicode, the result is different when comparing two unicode columns compared to comparing a unicode and a bytes column:
In the second case, the first mask item should be
True. This is a separate issue from #6838 (but I had to dot2['a'] == t1['a']instead oft1['a'] == t2['a']to avoid running into that issue).cc @taldcroft @mhvk