使用该
name属性进行比较,它应该始终有效,因为它只是一个字符串:
>>> import numpy as np>>> arr = np.array([1, 2, 3, 4])>>> arr.dtype.name'int64'>>> import pandas as pd>>> cat = pd.Categorical(['a', 'b', 'c'])>>> cat.dtype.name'category'
因此,总而言之,您可以得到一个简单,直接的函数:
def is_categorical(array_like): return array_like.dtype.name == 'category'



