我有一个pandas DataFrame,其中有一列表示分类变量。我如何获得类别列表?我在列上尝试了.values,但它没有返回唯一的级别。
.values
bttbmeg01#
我认为需要Series.cat.categories或unique:
Series.cat.categories
unique
np.random.seed(1245) a = ['No', 'Yes', 'Maybe'] df = pd.DataFrame(np.random.choice(a, size=(10, 3)), columns=['Col1','Col2','Col3']) df['Col1'] = pd.Categorical(df['Col1']) print (df.dtypes) Col1 category Col2 object Col3 object dtype: object print (df['Col1'].cat.categories) Index(['Maybe', 'No', 'Yes'], dtype='object') print (df['Col2'].unique()) ['Yes' 'Maybe' 'No'] print (df['Col1'].unique()) [Maybe, No, Yes] Categories (3, object): [Maybe, No, Yes]
62o28rlo2#
您也可以使用value_counts(),但它只在您将其与列名一起使用时才起作用,您还将获得每个类别的计数。示例:
value_counts()
dataframe['Columnn name'].value_counts()
或者,如果你想要一个变量中的类别总数,你可以这样做:
dataframe['Columnn name'].value_counts().count()
46scxncf3#
尝试执行下面的代码。List_Of_Categories_In_Column=list(df['Categorical Column Name'].value_counts().index)
List_Of_Categories_In_Column=list(df['Categorical Column Name'].value_counts().index)
wsxa1bj14#
df.column name.value_counts()#查看列中每个类别的值的总数df.column name.value_counts().index #仅查看类别名称df.column name .value_counts().count()#查看一列中有多少个类别(仅数字)
bgibtngc5#
这是我的工作,以检索类别作为一个数组
cat_arr = numpy.array(pd.Categorical(dataframe['col_name']).categories)
5条答案
按热度按时间bttbmeg01#
我认为需要
Series.cat.categories
或unique
:62o28rlo2#
您也可以使用
value_counts()
,但它只在您将其与列名一起使用时才起作用,您还将获得每个类别的计数。示例:或者,如果你想要一个变量中的类别总数,你可以这样做:
46scxncf3#
尝试执行下面的代码。
List_Of_Categories_In_Column=list(df['Categorical Column Name'].value_counts().index)
wsxa1bj14#
df.column name.value_counts()#查看列中每个类别的值的总数
df.column name.value_counts().index #仅查看类别名称
df.column name .value_counts().count()#查看一列中有多少个类别(仅数字)
bgibtngc5#
这是我的工作,以检索类别作为一个数组