首页 > 解决方案 > 为分类变量的每个级别创建新的数据框(Pandas)

问题描述

我有一个具有 3 个不同级别的分类变量。变量的每个级别指的是不同的组(小、中、大)。

我想为每个级别创建新的数据框。一个用于小型,一个用于中型,一个用于大型。

我试图用下面的代码做到这一点......

group1=data([data["categorical_variable"]=="Small"])

但是,我收到以下错误消息,我不确定为什么会看到这个?

AttributeError:“系列”对象没有属性“convert_objects”

谢谢!

标签: python-3.xpandas

解决方案


这里推荐的是使用DataFrame.GroupBy并保存在字典中

groups = dict(data.groupby("categorical_variable").__iter__())

#print(groups['Small'])
#print(groups['Medium'])

如果你真的想要三个单独sort=True的变量,请注意GroupBy

 large_df, medium_df, small_df = tuple(df for _, df in data.groupby("categorical_variable"))

推荐阅读