from functools import reduce import numpy as np from pandas._config import get_option def _ensure_decoded(s): """ If we have bytes, decode them to unicode. """ if isinstance(s, (np.bytes_, bytes)): s = s.decode(get_option("display.encoding")) return s def result_type_many(*arrays_and_dtypes): """ Wrapper around numpy.result_type which overcomes the NPY_MAXARGS (32) argument limit. """ try: return np.result_type(*arrays_and_dtypes) except ValueError: # we have > NPY_MAXARGS terms in our expression return reduce(np.result_type, arrays_and_dtypes)