如何将熊猫数据框的某些列转换为分类列?

时间:2020-02-01 06:11:57

标签: python pandas

这是我的代码:

l1 = list(train)
for i in (0,len(l1)):
    if train[l1[i]].dtypes == object:
        train[l1[i]] = pd.Categorical(train[l1[i]])

train.info(verbose=True)

但这只会使第一个变量发生变化,而没有其他变化。 62个对象变量的其余部分不会转换为对象。

你如何做到的?

1 个答案:

答案 0 :(得分:1)

通过DataFrame.select_dtypes获取所有对象列,转换为字典并传递给DataFrame.astype

train = train.astype(dict.fromkeys(train.select_dtypes('object').columns, 'category'))