使用该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'