如何使用pandas read_csv加载分类变量?

时间:2016-05-09 16:39:17

标签: python pandas machine-learning

将数据加载到数据框中并自动转换为分类变量时出现以下错误。

df = pd.read_csv(filepath_or_buffer=filename,
                 header=0,
                 index_col=False,
                 usecols=['col1', 'col2', 'col3'],
                 dtype={'col1': int,
                        'col2': 'category',
                        'col3': float})
  

TypeError:数据类型“类别”未理解

2 个答案:

答案 0 :(得分:2)

最简单的事情是事后将其转换为分类,特别是考虑到在阅读文件之后您可能不知道所有有效类别。

df = pd.read_csv(filepath_or_buffer=filename, usecols=['col1', 'col2', 'col3'])
df['col3'] = df.col3.astype('category')

答案 1 :(得分:1)

目前尚未实施,但您可以使用以下解决方法:

dtype={'col1': int,
       'col2': pd.CategoricalDtype(['cat1', 'cat2', 'cat3']),
       'col3': float}

here仍然是打开功能请求