在 pandas 中,可以通过使用 以下:
轻松检查数据框列的类型是否为分类类型df['column_name'].dtype == 'category'
但是我如何知道分类数据是名义数据还是序数数据?
像“年龄”这样的列并不代表名义或序数数据,而是数字数据。您可以使用以下方法查找包含数值数据的所有列:
numeric_cols = df._get_numeric_data().columns # numeric columns
cols = df.columns # all columns
假设非数字列是名义列或序数列(例如性别),那么您可以通过以下方式找到这些列:
categorical_cols = list(set(cols) - set(numeric_cols))
如果您想识别名义数据与序数数据,您需要定义一些方法来执行此操作。例如,如果您有服装尺寸的序数数据(小、中、大),则必须首先定义固定顺序。