Python 对数据帧中的元素进行计数

Python 对数据帧中的元素进行计数,python,numpy,pandas,Python,Numpy,Pandas,我有这样一个数据框: df = pd.DataFrame({'A': ['foo', 'bar', 'ololo'] * 4, 'B': np.random.randn(12), 'C': np.random.randint(0, 2, 12)}) 之后,我会这样做: ga = df.groupby(['A']) 例如,我得到: bar A B C

我有这样一个数据框:

df = pd.DataFrame({'A': ['foo', 'bar', 'ololo'] * 4,
                            'B': np.random.randn(12),
                            'C': np.random.randint(0, 2, 12)})
之后,我会这样做:

 ga = df.groupby(['A'])
例如,我得到:

bar
      A         B  C
1   bar  0.393058  1
4   bar -1.105328  0
7   bar -0.042472  0
10  bar -0.865564  1


foo
     A         B  C
0  foo  1.074720  1
3  foo -2.034497  0
6  foo  0.122219  1
9  foo -0.423785  0


ololo
        A         B  C
2   ololo  0.227501  1
5   ololo  0.774087  0
8   ololo  1.146629  1
11  ololo  1.275878  0
如何计算每组中的“1”和“0”(在C列中)?
最简单的计算方法是什么

我的数据与你的不同,但它应该适合你,请访问“C”列:

In [391]:

df = pd.DataFrame({'A': ['foo', 'bar', 'ololo'] * 4,
                            'B': np.random.randn(12),
                            'C': np.random.randint(0, 2, 12)})
df
Out[391]:
        A         B  C
0     foo  0.314818  1
1     bar  2.204360  1
2   ololo -0.290745  0
3     foo  1.346946  1
4     bar  1.129958  0
5   ololo  0.347720  0
6     foo -1.116949  0
7     bar -1.605924  1
8   ololo  1.997094  1
9     foo -1.290455  1
10    bar -1.829666  0
11  ololo -0.376138  0
In [395]:

ga = df.groupby(['A'])['C'].value_counts()
ga
Out[395]:
A       
bar    1    2
       0    2
foo    1    3
       0    1
ololo  0    3
       1    1
dtype: int64