熊猫

2017-06-15 114 views
1

我在下面显示的数据两列的分组:熊猫

 Gender topic: Big data infrastructure 
    0  F  NaN 
    1  M  -1 
    2  M  -1 
    3  M  -1 
    4  F  1 
    5  M  NaN 
    6  M  NaN 
    7  M  NaN 
    8  M  -2 
    9  M  1 
    10 F  1 
    11 M  NaN 
    12 M  1 
    13 M  -1 
    14 M  1 
    15 M  NaN 
    16 M  NaN 
    17 M  NaN 
    18 M  -1 
    19 M  -2 
    20 F  1 
    21 M  NaN 
    22 M  NaN 
    23 F  2 
    24 M  -2 
    25 F  2 
    26 M  NaN 
    27 M  2 
    28 M  1 
    29 M  NaN 
    30 M  2 
    31 M  NaN 
    32 M  NaN 
    33 F  2 
    34 M  2 

我想以某种方式得到多少男性和女性给予了分数是-2,-1,0,1,2计数或没有回答,但我无法弄清楚。我尝试了几个groupby方法,但它们不起作用。有没有人有一些指导或提示?

回答

2

执行groupby和使用value_counts

df.groupby('Gender')['topic: Big data infrastructure'].value_counts(dropna=False) 

输出结果:

Gender topic: Big data infrastructure 
F  1.0        3 
     2.0        3 
     NaN        1 
M  NaN        13 
     -1.0        5 
     1.0        4 
     -2.0        3 
     2.0        3 
+0

谢谢!如何访问计数?例如,如果我想描绘有多少女性和男性给出了1分? @root – K22

+0

您目前拥有一个将两个原始列作为MultiIndex的系列,因此您可以使用标准的MultiIndex索引,例如, 'df [:,1]'。或者,您可以通过添加'.rename('Count')。reset_index()'来恢复所有列。 – root

+0

非常感谢! – K22