def get_dtype_kinds(l):
 typs = set()
 for arr in l:
  dtype = arr.dtype
  if is_categorical_dtype(dtype):
   typ = 'category'
  elif is_sparse(arr):
   typ = 'sparse'
  elif is_datetimetz(arr):
   typ = str(arr.dtype)
  elif is_datetime64_dtype(dtype):
   typ = 'datetime'
  elif is_timedelta64_dtype(dtype):
   typ = 'timedelta'
  elif is_object_dtype(dtype):
   typ = 'object'
  elif is_bool_dtype(dtype):
   typ = 'bool'
  elif is_period_dtype(dtype):
   typ = str(arr.dtype)
  else:
   typ = dtype.kind
  typs.add(typ)
 return typs

def get_dtype_kinds ( l ) : typs = set ( ) for arr in l : dtype = arr . dtype if is_categorical_dtype ( dtype ) : typ = 'category' elif is_sparse ( arr ) : typ = 'sparse' elif is_datetimetz ( arr ) : typ = str ( arr . dtype ) elif is_datetime64_dtype ( dtype ) : typ = 'datetime' elif is_timedelta64_dtype ( dtype ) : typ = 'timedelta' elif is_object_dtype ( dtype ) : typ = 'object' elif is_bool_dtype ( dtype ) : typ = 'bool' elif is_period_dtype ( dtype ) : typ = str ( arr . dtype ) else : typ = dtype . kind typs . add ( typ ) return typs
parameters l : list of arrays returns a set of kinds that exist in this list of arrays .