我似乎無法得到一個簡單的dtype檢查與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
,通常我們可以通過只比較名稱的D型的 做一個D型細胞檢查:
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 +中進行這些類型的檢查?
所以除了下面solns,所述canoncial方式來選擇列> = 0.15.0是''df.select_dtypes(包括= [ '類別'])'' – Jeff
這可能需要做的與事實t與來自numpy的其他數據類型相比,帽子'category'是pandas添加的數據類型。 –