如何使用pandas python将子对象分配给父对象

时间:2014-08-26 13:16:31

标签: python for-loop pandas dataframe

我在pandas中有一个数据框,如下所示:

df =

         Image_Number     Parent_Object      Child_Object
             1                 1                  1
             1                 1                  2
             1                 1                  3
             1                 1                  4
             1                 2                  5
             1                 1                  6
             1                 2                  7
             1                 2                  8
             1                 3                  9                                   
             1                 3                  10
             1                 3                  11
             1                 3                  12
             2                 1                  13                                   
             2                 1                  14
             2                 1                  15
             2                 1                  16
             2                 2                  17
             2                 2                  18                
             2                 2                  19
             2                 3                  20
             2                 3                  21
             2                 3                  22                                                                       
             2                 2                  23
             2                 3                  24
             2                 3                  25
             3                 1                  26
             3                 1                  27                                   
             3                 1                  28
             3                 2                  29
             3                 2                  30

我怎样才能编写一些能够将子对象分类为每个图像的父对象的东西?

获得如下输出非常有用:

Image_Number             Parent_Object       Number_of_Child_Objects
     1                         1                      5
     1                         2                      3
     1                         3                      4
     2                         1                      4
     2                         2                      3
     2                         3                      3
     3                         1                      3
     3                         2                      2

1 个答案:

答案 0 :(得分:2)

您要做的是为{em} Image_NumberParent_Object不同值(组)计算某些内容(计数)。这可以使用groupby方法完成(请参阅此处了解文档:http://pandas.pydata.org/pandas-docs/stable/groupby.html

在你的情况下:

df.groupby(by=['Image_Number', 'Parent_Object']).count()