Example:
db = audformat.Database('db')
db.schemes['text'] = audformat.Scheme(dtype='str')
db['misc'] = audformat.MiscTable(
pd.Index(
['a', 'b', 'c'],
name='speaker',
dtype='string',
)
)
db['misc']['text'] = audformat.Column(scheme_id='text')
db['misc']['text'].set(['A', 'B', 'C'])
db.schemes['scheme'] = audformat.Scheme('str', labels='misc')
db['table'] = audformat.MiscTable(audformat.filewise_index(['f1', 'f2', 'f3']))
db['table']['column'] = audformat.Column(scheme_id='scheme')
db['table']['column'].set(['a', 'b', 'c'])
db['table']['column'].get(map='text').dtype
and if 'text' contains None, we get:
db['misc']['text'].set(['A', 'B', None])
db['table']['column'].get(map='text').dtype
But in both cases we would expect string category.