数据框按多个值分组

时间:2019-07-09 02:26:32

标签: python pandas

如果我有如下数据框:

In [1]: df = pd.DataFrame([('bird', 'Falconiformes', 389.0),
   ...:                    ('bird', 'Psittaciformes', 24.0),
   ...:                    ('mammal', 'Carnivora', 80.2),
   ...:                    ('mammal', 'Primates', np.nan),
   ...:                    ('mammal', 'Carnivora', 58),
                           ('reptile', 'Some Animal', 30],
   ...:                    
   ...:                   columns=('class', 'order', 'max_speed'))
   ...: 

In [2]: df
Out[2]: 
class    order           max_speed
bird     Falconiformes   389.0
bird     Psittaciformes  24.0
mammal   Carnivora       80.2
mammal   Primates        NaN
mammal   Carnivora       58.0
reptile  Some Animal.    30

我应该如何按类别将数据帧分为两组,鸟类和爬行动物作为一组,而哺乳动物则属于另一组?该课程仅包括鸟类,哺乳动物和爬行动物

对于常规分组,这是我的方法。

gb = df.groupby('class')    
for x in gb.groups:
    dff = gb.get_group(x)

1 个答案:

答案 0 :(得分:0)

只需创建一个映射并将其作为新列应用于您的数据框即可。

enter image description here