Я не могу получить простой dtype-check, работающий с Pandas 'улучшенной категорией в v0.15+. В основном я просто хочу что-то вроде is_categorical(column) -> True/False
.
import pandas as pd
import numpy as np
import random
df = pd.DataFrame({
'x': np.linspace(0, 50, 6),
'y': np.linspace(0, 20, 6),
'cat_column': random.sample('abcdef', 6)
})
df['cat_column'] = pd.Categorical(df2['cat_column'])
Мы видим, что dtype
для категориального столбца - "категория":
df.cat_column.dtype
Out[20]: category
И обычно мы можем выполнить проверку dtype, просто сравнив ее с именем dtype:
df.x.dtype == 'float64'
Out[21]: True
Но это не работает, если вы пытаетесь проверить, если столбец x
категоричен:
df.x.dtype == 'category'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-22-94d2608815c4> in <module>()
----> 1 df.x.dtype == 'category'
TypeError: data type "category" not understood
Есть ли способ выполнить эти типы проверок в pandas v0.15 +?