Python统计透视表中的所有布尔值

Python统计透视表中的所有布尔值,python,pandas,pycharm,Python,Pandas,Pycharm,有人知道如何计算透视表中的所有布尔值(包括假值)吗 通过\u考试是一列布尔值 这段代码只对真正的值执行任务,这很好: table = pd.pivot_table(df,index=["student","semester"], values=["passed_exam"],aggfunc=np.sum) 但是我还需要一个列来计算所有布尔值 提前谢谢你 我想你需要最后一次整形: 对表格求反,做同样的操作,添加两个值?非常感谢!可以不重复a和b吗?我的意思是第一行有a,第二行空白?并且总是得到一

有人知道如何计算透视表中的所有布尔值(包括假值)吗

通过\u考试
是一列布尔值

这段代码只对真正的值执行任务,这很好:

table = pd.pivot_table(df,index=["student","semester"], values=["passed_exam"],aggfunc=np.sum)
但是我还需要一个列来计算所有布尔值

提前谢谢你

我想你需要最后一次整形:


对表格求反,做同样的操作,添加两个值?非常感谢!可以不重复a和b吗?我的意思是第一行有a,第二行空白?并且总是得到一个数据框作为结果。那么,你能用样本数据、期望的输出和你的尝试来创建新的问题吗?谢谢。用我的样品,没问题,或者你可以根据需要修改。也许有帮助。
df = pd.DataFrame({'student':['a'] * 4 + ['b'] * 6,
                   'semester':[1,1,2,2,1,1,2,2,2,2],
                   'passed_exam':[True, False] * 5})

print (df)
  passed_exam  semester student
0        True         1       a
1       False         1       a
2        True         2       a
3       False         2       a
4        True         1       b
5       False         1       b
6        True         2       b
7       False         2       b
8        True         2       b
9       False         2       b

table = df.groupby(["student","semester","passed_exam"])
          .size()
          .unstack(fill_value=0)
          .rename_axis(None, axis=1)
          .reset_index()
print (table)
  student  semester  False  True
0       a         1      1     1
1       a         2      1     1
2       b         1      1     1
3       b         2      2     2